/* Main stylesheet: split from the original single-file app. */
/* fonts.css wird DIREKT in index.html als eigenes <link> geladen (vor main.css),
   damit Browser @font-face sofort sieht — nicht erst nach 98-@import-Waterfall. */
/* Marktplatz Design Tokens (2026-05-29, P3.3)
   ──────────────────────────────────────────────────────────────
   Drei-Layer-Struktur:
     1. Primitive Tokens — rohe Farb-/Spacing-Werte
     2. Semantic Tokens  — Rollen (surface, text, accent, status)
     3. Component Tokens — pro Komponente bei Bedarf
   Backwards-Compat: bisherige Kurz-Namen (--ac, --tx, --bg, --sur, ...) bleiben
   als Alias erhalten — jedes CSS-File migriert opportunistisch.
   Doku siehe _context/DESIGN-TOKENS.md.
   ────────────────────────────────────────────────────────────── */

:root {
  color-scheme: dark;

  /* ── Primitive Tokens ───────────────────────────────────────── */
  --color-brand-olive:        #d5d960;
  --color-brand-olive-deep:   #7a8024;
  --color-brand-navy:         #1b3558;

  --color-warning:            #f59e0b;
  --color-danger:             #f87171;
  --color-success:            #5a8d3a;

  /* Dark-Mode Surface-Stack */
  --color-dark-bg:            #0b0f1a;
  --color-dark-sur:           #111827;
  --color-dark-sur2:          #1a2236;
  --color-dark-sur3:          #212d44;
  --color-dark-bd:            #243050;
  --color-dark-bd2:           #2e3d60;
  --color-dark-tx:            #e8eaf0;
  --color-dark-tx2:           #8b99b8;
  --color-dark-tx3:           #4a5878;

  /* ── Semantic Tokens (Dark default) ─────────────────────────── */
  --bg:    var(--color-dark-bg);
  --sur:   var(--color-dark-sur);
  --sur2:  var(--color-dark-sur2);
  --sur3:  var(--color-dark-sur3);
  --bd:    var(--color-dark-bd);
  --bd2:   var(--color-dark-bd2);
  --tx:    var(--color-dark-tx);
  --tx2:   var(--color-dark-tx2);
  --tx3:   var(--color-dark-tx3);
  --ac:    var(--color-brand-olive);
  --ac-on: #0f1117;
  --ac2:   #566b86;
  --ac3:   var(--color-warning);
  --ac4:   var(--color-danger);
  --brand:  var(--color-brand-navy);
  --brand2: var(--color-brand-olive);

  /* ── Layout-Tokens ──────────────────────────────────────────── */
  --sw: 242px;   /* sidebar-width */
  --hh: 52px;    /* header-height */

  /* ── Spacing-Scale (P3.3 Skeleton, noch nicht migriert) ─────── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-8: 48px;

  /* ── Radii ──────────────────────────────────────────────────── */
  --radius-sm:   4px;
  --radius-md:   6px;
  --radius-lg:   10px;
  --radius-pill: 999px;

  /* ── Typography ─────────────────────────────────────────────── */
  --font-sans:    'Inter', system-ui, sans-serif;
  --font-mono:    'DM Mono', monospace;
  --font-display: 'DM Sans', system-ui, sans-serif;
}

[data-theme="light"] {
  color-scheme: light;

  --color-light-bg:   #fafaf7;
  --color-light-sur:  #ffffff;
  --color-light-sur2: #f2f2ee;
  --color-light-sur3: #e8e8e3;
  --color-light-bd:   #dcdcd8;
  --color-light-bd2:  #c2c2bd;
  --color-light-tx:   #0f1e35;
  --color-light-tx2:  #3d5070;
  --color-light-tx3:  #7a8fa8;

  --bg:    var(--color-light-bg);
  --sur:   var(--color-light-sur);
  --sur2:  var(--color-light-sur2);
  --sur3:  var(--color-light-sur3);
  --bd:    var(--color-light-bd);
  --bd2:   var(--color-light-bd2);
  --tx:    var(--color-light-tx);
  --tx2:   var(--color-light-tx2);
  --tx3:   var(--color-light-tx3);
  --ac:    var(--color-brand-olive-deep);
  --ac-on: #ffffff;
  --ac2:   #566b86;
  --ac3:   #c97f0c;
  --ac4:   #dc2626;
}

*{margin: 0;padding: 0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden}

/* Number-Input Spinner-Pfeile global aus — Memory feedback_ui_affensicher.
   Sieht in unseren Forms aus wie ein Schluckauf, User scrollt eh nicht
   mit Pfeilen sondern tippt Werte. */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin: 0}
input[type="number"]{-moz-appearance:textfield}

.main{margin-left: var(--sw);min-height:100vh;transition:margin-left .25s ease;display:flex;flex-direction:column}
.content{flex:1;overflow-y:auto}.page{display:none;padding: 0}.page.active{display:block;min-height:calc(100vh - var(--hh));padding: 28px 28px 40px;box-sizing:border-box}.content{flex:1;overflow-y:auto}
.sh{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom: var(--space-5)}
.sh-l h2{font-size:18px;font-weight:600;letter-spacing:-.01em}.sh-l p{font-size:12px;color:var(--tx3);margin-top: var(--space-1)}
.fp{display:none;position:fixed;inset:0;background:var(--bg);z-index:150;overflow-y:auto;padding: var(--space-5)}
.fp.open{display:block}
.fp-back{display:flex;align-items:center;gap: var(--space-2);font-size:12px;color:var(--tx2);cursor:pointer;margin-bottom: 20px;transition:color .12s}
.fp-back:hover{color:var(--tx)}
.setwrap{display:grid;grid-template-columns:185px 1fr;gap: 0;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);overflow:hidden}

.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sw);box-sizing:border-box;background:var(--sur);border-right:1px solid var(--bd);display:flex;flex-direction:column;z-index:100;transition:width .25s ease}
.sidebar.collapsed{width:54px;overflow:visible}
.sidebar.collapsed .sb-logo-text,
.sidebar.collapsed .sb-quickbar .sb-qitem span,
.sidebar.collapsed .nav-sec,
.sidebar.collapsed .nav-sec-toggle,
.sidebar.collapsed .nav-sec-toggle span,
.sidebar.collapsed .nav-sec-chevron,
.sidebar.collapsed .nsub,
.sidebar.collapsed .ni-chevron,
.sidebar.collapsed .ni-group:not([id="uebersicht-items"]) .nsub,
.sidebar.collapsed .nav-arrow,
.sidebar.collapsed .nsubgroup,
.sidebar.collapsed .nav-section-items,
.sidebar.collapsed .sb-foot .u-name,
.sidebar.collapsed .sb-foot .u-role,
.sidebar.collapsed .sb-foot .vtag,
.sidebar.collapsed .sb-foot .logout,
.sidebar.collapsed .nbadge{display:none!important}
.sidebar.collapsed .sb-logo{justify-content:center;padding: var(--space-2) 0;padding-right: 0;width:54px;overflow:hidden}.sidebar.collapsed .sb-logo img{width:28px!important;height:auto;object-fit:contain}
.sidebar.collapsed .sb-nav .ni{justify-content:center;padding: 9px 0;width:54px;overflow:hidden;min-height:36px}
.sidebar.collapsed .sb-nav .ni svg{width:17px;height:17px;flex-shrink:0;opacity:.7}
.sidebar.collapsed .sb-nav .ni.on svg{opacity:1}
.sidebar.collapsed .sb-nav .ni.on{background:rgba(213,217,96,.08);border-left-color:var(--ac)}
.sidebar.collapsed .sb-nav .ni>span{display:none}.sidebar.collapsed .sb-nav .ni>*:not(svg):not(span):not(.ni-icon){width:0;overflow:hidden;padding: 0;margin: 0;font-size:0}
.sidebar.collapsed .sb-quickbar .sb-qitem{justify-content:center;padding: 10px 0;width:54px}
.sidebar.collapsed .sb-quickbar .sb-qitem svg{width:17px;height:17px}
.sidebar.collapsed .sb-foot{justify-content:center;padding: 10px 0}
.sidebar.collapsed .sb-divider{margin: var(--space-1) 6px}
.sidebar.collapsed .sb-collapse-btn svg{transform:rotate(180deg)}
.sidebar.collapsed .sb-divider{margin: var(--space-1) 0}
.sb-collapse-btn{position:fixed;top:14px;left:calc(var(--sw) - 32px);width:24px;height:24px;border-radius: var(--radius-md);background:var(--sur2);border:1px solid var(--bd);color:var(--tx3);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:200;transition:left .25s ease,background .12s,color .12s}
.sidebar.collapsed~* .sb-collapse-btn,.sidebar.collapsed .sb-collapse-btn{left:26px}
.sb-collapse-btn:hover{background:var(--sur3);color:var(--tx)}
.sb-collapse-btn svg{width:12px;height:12px;transition:transform .25s ease}
.sb-expand-btn{display:none}
.sb-logo{padding: 10px 14px;border-bottom:1px solid var(--bd);display:flex;align-items:center;height:var(--hh);min-height:var(--hh);box-sizing:border-box;padding-right: 36px;gap: 10px}
.sb-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding: 5px 0}
.nav-sec{padding: var(--space-4) 13px var(--space-1);font-size:9.5px;font-weight:600;color:var(--tx3);letter-spacing:.1em;text-transform:uppercase;margin-top: 2px;border-top:1px solid var(--bd)}
.nav-sec-toggle{cursor:pointer;display:flex;align-items:center;gap: var(--space-1);user-select:none;padding: var(--space-4) 13px var(--space-1);font-size:9.5px;font-weight:600;color:var(--tx3);letter-spacing:.1em;text-transform:uppercase;margin-top: 2px}
.nav-sec-toggle:hover{color:var(--tx2)}
/* Phase 4 — Sidebar Active-States auf Plattform-Tokens (war Grün/Cyan) */
.ni{display:flex;align-items:center;gap: 9px;padding: var(--space-2) 13px;cursor:pointer;font-size:13.5px;color:var(--tx2);transition:all .12s;border-left:2px solid transparent;user-select:none;white-space:nowrap;overflow:hidden}
.ni:hover{color:var(--tx);background:rgba(213,217,96,.04)}
.ni.on{color:var(--ac);background:rgba(213,217,96,.06);border-left-color:var(--ac)}
.ni svg{width:13px;height:13px;flex-shrink:0;opacity:.6}.ni.on svg{opacity:1}
.nsub{padding: 5px 13px 5px 35px;font-size:12px;color:var(--tx3);cursor:pointer;transition:color .12s;border-left:2px solid transparent;display:flex;align-items:center;gap: 7px}
.nsub:hover{color:var(--tx2);background:rgba(213,217,96,.03)}
.nsub.on{color:var(--ac);border-left-color:var(--ac);background:rgba(213,217,96,.05)}
.nbadge{margin-left: auto;font-size:9px;background:var(--sur3);color:var(--tx3);padding: 1px 5px;border-radius: 8px;font-family:'DM Mono',monospace}
.nbadge.g{background:rgba(213,217,96,.14);color:var(--ac)}
.sb-foot{padding: 10px 13px;border-top:1px solid var(--bd);display:flex;align-items:flex-start;gap: var(--space-2)}
.u-av{width:28px;height:28px;border-radius: 50%;background:linear-gradient(135deg,var(--ac3),var(--ac4));display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#0f1117;flex-shrink:0;margin-top: 2px}
.sb-foot-info{flex:1;min-width:0;display:flex;flex-direction:column;gap: 1px}
.u-name{font-size:11.5px;font-weight:500;line-height:1.3}
.u-role{font-size:9.5px;color:var(--tx3);line-height:1.3}
.vtag{font-size:9px;color:var(--tx3);font-family:'DM Mono',monospace;opacity:.7;word-break:break-all;line-height:1.35;margin-top: 2px}
.logout{font-size:10.5px;color:var(--tx3);cursor:pointer;padding: 3px 7px;border:1px solid var(--bd);border-radius: var(--radius-sm);transition:all .12s;white-space:nowrap;flex-shrink:0;margin-top: 2px}
.logout:hover{color:var(--ac4);border-color:rgba(248,113,113,.35)}
.sidebar.collapsed + .sb-expand-btn{display:flex}
.sb-quickbar{display:flex;flex-direction:column;padding: 6px 0;overflow:hidden}
.sb-qitem{display:flex;align-items:center;gap: 10px;padding: 9px 14px;background:transparent;border:none;color:var(--tx3);cursor:pointer;font-size:13px;font-family:'DM Sans',sans-serif;text-align:left;width:100%;border-left:2px solid transparent;transition:all .12s;white-space:nowrap;overflow:hidden;position:relative}
.sb-qitem:hover{color:var(--tx);background:rgba(255,255,255,.025)}
.sb-qitem svg{width:15px;height:15px;flex-shrink:0}
.sb-qitem span{font-size:13px;font-weight:500}
.sb-divider{height:1px;background:var(--bd);margin: var(--space-1) 0}

/* ── Section-Header einklappbar (Übersicht / Academy / Vertrieb / etc.) ── */
.nav-sec.nav-sec-toggle {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
  transition: color .12s, background .12s;
  padding-right: 13px;
}
.nav-sec.nav-sec-toggle:hover { color: var(--tx2); background: rgba(255,255,255,.018); }
.nav-sec-chevron {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  opacity: 0.6;
  transition: transform .18s ease, opacity .12s;
  color: var(--tx3);
  margin-left: var(--space-2);
}
.nav-sec.nav-sec-toggle:hover .nav-sec-chevron { opacity: 1; }
.nav-sec-chevron.rotated { transform: rotate(-90deg); }

/* ── Einklappbare Untermenüs (FAQ-Chat, Sales CoPilot) ── */
.ni.ni-with-group { padding-right: var(--space-2); }
.ni-chevron {
  width: 12px;
  height: 12px;
  margin-left: auto;
  flex-shrink: 0;
  opacity: 0.5;
  cursor: pointer;
  padding: var(--space-1);
  box-sizing: content-box;
  border-radius: var(--radius-sm);
  transition: transform .18s ease, opacity .12s, background .12s;
  color: var(--tx3);
}
.ni-chevron:hover { opacity: 1; background: rgba(255,255,255,.05); }
.ni-chevron.rotated { transform: rotate(-90deg); }
.ni-with-group.on .ni-chevron { color: var(--ac); opacity: 0.8; }

.ni-group {
  display: flex;
  flex-direction: column;
  max-height: 800px;
  overflow: hidden;
  transition: max-height .22s ease, opacity .15s ease;
  opacity: 1;
}
.ni-group.collapsed {
  max-height: 0;
  opacity: 0;
  pointer-events: none;
}

@keyframes mseSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.tb-mode-tab{padding: 9px 20px;background:transparent;border:none;color:var(--tx3);cursor:pointer;font-size:12px;font-family:'DM Sans',sans-serif;font-weight:500;display:flex;align-items:center;gap: 7px;transition:all .12s}
.tb-mode-tab.on{background:var(--sur);color:var(--tx);font-weight:600}
.tb-mod-card{background:var(--sur);border:1px solid var(--bd);border-radius: 12px;padding: 22px;cursor:pointer;transition:all .15s}
.tb-mod-card:hover{border-color:var(--bd2);background:var(--sur2);transform:translateY(-1px)}
.tb-mod-soon{opacity:.5;cursor:default}.tb-mod-soon:hover{transform:none;border-color:var(--bd);background:var(--sur)}
.topbar{height:var(--hh);min-height:var(--hh);box-sizing:border-box;border-bottom:1px solid var(--bd);background:var(--sur);display:flex;align-items:center;padding: 0 20px;gap: var(--space-2);position:sticky;top:0;z-index:50;flex-shrink:0}
.tb-ico{width:28px;height:28px;border-radius: 7px;background:transparent;border:none;color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s;position:relative;flex-shrink:0}.tb-ico:disabled{opacity:.5;cursor:default}
.tb-ico:hover{background:var(--sur2);color:var(--tx)}.tb-ico svg{width:14px;height:14px}
.tb-search{position:relative;display:flex;align-items:center;gap: var(--space-2);background:var(--sur2);border:1px solid var(--bd);border-radius: 9px;padding: var(--space-2) 14px;flex:1;min-width:320px;max-width:720px;transition:all .15s;margin: 0 var(--space-2)}
.tb-search:focus-within{border-color:var(--bd2);background:var(--sur3)}
.tb-search svg{width:13px;height:13px;color:var(--tx3);flex-shrink:0}
.tb-search input{background:none;border:none;outline:none;color:var(--tx);font-size:13px;font-family:'DM Sans',sans-serif;width:100%;min-width:0}
.tb-search input::placeholder{color:var(--tx3)}
.tb-search-results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.3);max-height:360px;overflow-y:auto;z-index:300}
.tb-title{font-size:14px;font-weight:600;letter-spacing:-.01em}.tb-path{font-size:10.5px;color:var(--tx3)}
.tb-right{margin-left: auto;display:flex;align-items:center;gap: 7px}
.theme-toggle{width:30px;height:30px;border-radius: 8px;background:var(--sur2);border:1px solid var(--bd);color:var(--tx2);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}
.theme-toggle:hover{background:var(--sur3);border-color:var(--bd2);color:var(--ac)}
.pill{font-size:11px;padding: var(--space-1) 10px;border-radius: 14px;border:1px solid var(--bd);color:var(--tx2);cursor:pointer;transition:all .12s;background:var(--sur2)}
.pill:hover{color:var(--tx);border-color:var(--bd2)}
.pill.a{background:rgba(74,222,128,.09);color:var(--ac);border-color:rgba(74,222,128,.22)}

.dw-menu{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:15px;padding: 2px 6px;border-radius: 5px;transition:all .12s}
.dw-menu:hover{background:var(--sur2);color:var(--tx)}
.dw-link{font-size:11px;padding: var(--space-1) var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 12px;cursor:pointer;color:var(--tx2);transition:all .12s;white-space:nowrap}
.dw-link:hover{color:var(--tx);border-color:var(--bd2)}
.cp-step{display:flex;align-items:center;gap: 10px;margin-bottom: var(--space-3)}
.cp-step-num{width:22px;height:22px;border-radius: 50%;background:var(--ac);color:#0f1117;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cp-step-label{font-size:13px;font-weight:600;color:var(--tx)}
.cp-opts{display:flex;gap: var(--space-2);flex-wrap:wrap}
.cp-opt{padding: var(--space-2) 18px;border:1px solid var(--bd);border-radius: 8px;cursor:pointer;font-size:12px;color:var(--tx2);background:var(--sur2);transition:all .12s;user-select:none}
.cp-opt:hover{border-color:var(--bd2);color:var(--tx)}
.cp-opt.on{background:rgba(213,217,96,.1);border-color:rgba(213,217,96,.4);color:var(--ac);font-weight:600}
.faq-chip{padding: 5px var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 16px;font-size:11px;color:var(--tx2);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .12s;white-space:nowrap}
.faq-chip:hover{border-color:var(--ac);color:var(--ac);background:rgba(213,217,96,.06)}
.btn{padding: 7px 14px;border-radius: 7px;font-size:11.5px;font-weight:500;cursor:pointer;transition:all .12s;border:1px solid var(--bd);background:var(--sur2);color:var(--tx2);font-family:'DM Sans',sans-serif}
.btn:hover{color:var(--tx);border-color:var(--bd2)}
.btn.pri{background:rgba(74,222,128,.08);color:var(--ac);border-color:rgba(74,222,128,.35);font-weight:600}
.btn.pri:hover{background:rgba(74,222,128,.16);border-color:rgba(74,222,128,.55)}
.btn.dan{background:rgba(248,113,113,.08);color:var(--ac4);border-color:rgba(248,113,113,.2)}
.dist-act-btn{font-size:11px;padding: var(--space-1) 10px;border-radius: 5px;cursor:pointer;border:1px solid var(--bd);background:var(--sur2);color:var(--tx2);transition:all .12s;display:inline-flex;align-items:center;gap: var(--space-1)}
.dist-act-btn:hover{color:var(--tx)}.dist-act-btn.del{color:var(--ac4);border-color:rgba(248,113,113,.2);background:transparent}
.pd-tab{padding: var(--space-2) 14px;border-radius: 8px;border:1px solid var(--bd);background:var(--sur2);color:var(--tx2);font-size:11.5px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .12s}
.pd-tab:hover{color:var(--tx);border-color:var(--bd2)}
.pd-tab.on{background:rgba(74,222,128,.1);color:var(--ac);border-color:rgba(74,222,128,.28)}
.btn.sec{background:var(--sur2);color:var(--tx2);border-color:var(--bd)}
.btn.sec:hover{color:var(--tx);border-color:var(--bd2)}
.btn.info{background:rgba(34,211,238,.08);color:var(--ac2);border-color:rgba(34,211,238,.22)}
.btn.info:hover{background:rgba(34,211,238,.15)}
.btn.warn{background:rgba(245,158,11,.09);color:var(--ac3);border-color:rgba(245,158,11,.25)}
.btn.warn:hover{background:rgba(245,158,11,.16)}
.btn.sm{padding: var(--space-1) 10px;font-size:10.5px}
.btn.xs{padding: 2px var(--space-2);font-size:10px}
.btn.lg{padding: 10px 22px;font-size:13px}
.btn.full{width:100%;justify-content:center;display:flex;align-items:center;gap: 7px}
.btn.icon-only{width:32px;height:32px;padding: 0;display:flex;align-items:center;justify-content:center;font-size:14px}
.voice-pill{display:flex;align-items:center;gap: var(--space-2);background:#1a2540;border:1px solid #2a3560;border-radius: 22px;padding: 7px 13px;cursor:pointer;transition:all .2s;user-select:none}
.voice-pill:hover{background:#1f2d52;border-color:#3a4580}
.voice-pill.active{background:#1a2a4a;border-color:rgba(248,113,113,.5);animation:voicePulse 1.5s ease-in-out infinite}
.voice-pill svg{width:18px;height:18px;stroke:var(--ac2);opacity:.85;flex-shrink:0}
.voice-pill.active svg{stroke:var(--ac4)}
.voice-pill.active .voice-dots span{background:var(--ac4)}
.voice-pill:not(.active) .voice-dots span{animation:none}

.tc{display:flex;align-items:center;gap: 7px;margin-bottom: var(--space-3);flex-wrap:wrap}
.sw{position:relative;flex:1;min-width:170px;max-width:290px}
.si{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:11px;pointer-events:none}
.sb{width:100%;background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding: 7px 11px 7px 30px;color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;outline:none;transition:all .15s}
.sb:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15)}
select.fi{background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding: 7px 11px;color:var(--tx2);font-size:11.5px;font-family:'DM Sans',sans-serif;outline:none;cursor:pointer;transition:all .15s}
select.fi:hover{border-color:var(--ac)}
select.fi:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15)}
textarea.notes{width:100%;background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-md);padding: 9px 11px;color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;resize:vertical;min-height:80px;outline:none;margin-top: 6px}
textarea.notes:focus{border-color:var(--bd2)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap: 11px;margin-bottom: 11px}
.fg{display:flex;flex-direction:column;gap: var(--space-1)}
.flb{font-size:9.5px;font-weight:500;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em}
.fi2{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-md);padding: 7px 11px;color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;outline:none}
.fi2:focus{border-color:var(--bd2)}
.togrow{display:flex;align-items:center;justify-content:space-between;padding: var(--space-2) 0;border-bottom:1px solid var(--bd)}
.toglb{font-size:12px}.togdesc{font-size:10.5px;color:var(--tx3);margin-top: 1px}
.tog{width:33px;height:17px;border-radius: 9px;background:var(--sur3);position:relative;cursor:pointer;transition:background .17s;flex-shrink:0}
.tog.on{background:var(--ac)}
.tog::after{content:'';position:absolute;width:11px;height:11px;border-radius: 50%;background:#fff;top:3px;left:3px;transition:transform .17s}
.tog.on::after{transform:translateX(16px)}
textarea.mta{width:100%;background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-md);padding: var(--space-2) 11px;color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;outline:none;resize:vertical;min-height:85px}
textarea.mta:focus{border-color:var(--bd2)}
/* Nativer Date-Picker: color-scheme wird von :root vererbt (variables.css),
   damit Theme-Switch live greift. Hier nur Cursor + Icon-Hover. */
input[type="date"]{cursor:pointer}
input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity .15s}
input[type="date"]::-webkit-calendar-picker-indicator:hover{opacity:1}

/* Käufer-Verifikation Theme-Overrides (2026-05-31, v3)
 *
 * Default ist Dark (Page-Partials bringen ihren eigenen scoped <style>-Block
 * mit dunklen Farben mit). Bei body.theme-light werden die Wizard-Steps
 * (kl-ver-konto/passwort/unternehmen/rechnung/agb/pruefen) auf hell gestellt.
 *
 * Strategie (geändert nach Audit 2026-05-31):
 *  - Catchall: ALLE Text-Elemente im Light auf dunkel (sonst bleibt jede
 *    nicht-aufgeführte Subklasse aus dem Partial-CSS dunkel-auf-dunkel).
 *  - Whitelist für Akzent-Elemente die gelb bleiben müssen (Eyebrow,
 *    Required-*, Progress-Fill, Next-Button).
 *  - Inputs: weißer Hintergrund, dunkler Text, dunkle Border-Bottom.
 *  - Welcome bleibt explizit dark (Marketing-Front-Door, eigener Sprach-Stil).
 */

/* ── 0. Kompaktes Layout für ALLE Wizard-Pages (Light + Dark) ──
 *
 * 2026-05-31 v4: User-Direktive „so kompakt dass alles auf einer Seite ist,
 * man nicht scrollen muss". Top-Pad 24px, Bottom-Pad für Sticky-Actionbar
 * 92px (Actionbar ist 72px hoch). Progress-Bar margin 18px, H1 26px,
 * Form-Gap 10px, Hints 11px.
 */
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome).kvw-a-page,
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome).kvw-a-host,
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) {
  padding-top: 24px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-wrap {
  padding-top: 0 !important;
  padding-bottom: 92px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-progress {
  margin-bottom: 18px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-head {
  margin-bottom: 16px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-lead,
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-sublead,
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-sub {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-h1 {
  margin: 0 0 6px !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-eyebrow {
  margin: 0 0 8px !important;
  font-size: 10.5px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-form {
  gap: 10px !important;
  margin-top: 0 !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-field {
  margin-bottom: 0 !important;
  gap: 4px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-fields {
  gap: 10px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-section {
  gap: 10px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-section-head {
  margin-top: 8px !important;
  padding-top: 8px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-section-head:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-info {
  margin: 8px 0 !important;
  padding: 10px 0 10px 14px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-hint {
  margin-top: 2px !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-input {
  padding: 6px 0 !important;
  font-size: 15px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-label {
  font-size: 10px !important;
}
/* Action-Bar etwas niedriger */
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-actionbar {
  height: 60px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-next {
  padding: 9px 22px !important;
  font-size: 13px !important;
}
/* AGB-Page: Check-Group enger */
#p-kl-ver-agb .kvw-a-group-label {
  font-size: 10.5px !important;
  margin-bottom: 4px !important;
}
#p-kl-ver-agb .kvw-a-check {
  padding: 2px 0 !important;
}
#p-kl-ver-agb .kvw-a-check label {
  font-size: 13px !important;
  line-height: 1.4 !important;
}
/* Pruefen-Page Disclaimer + Block-Padding minimal */
#p-kl-ver-pruefen .kvw-a-disclaimer {
  margin: 10px 0 !important;
  font-size: 12px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block {
  padding: 10px 14px !important;
  margin-bottom: 6px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block-head {
  margin-bottom: 6px !important;
  padding-bottom: 6px !important;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-line {
  font-size: 12.5px !important;
  padding: 1px 0 !important;
}

/* ── 1. Body + Page-Container Light ───────────────────────────── */
body.theme-light.is-onboarding {
  background: #f7f8fa !important;
  color: #1a2030 !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome),
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome).kvw-a-page,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome).kvw-a-host {
  background: #f7f8fa !important;
  color: #1a2030 !important;
}
/* Radial-Gradient Backdrop dezenter im Light */
body.theme-light.is-onboarding::before,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome)::before {
  background: radial-gradient(ellipse 600px 400px at 80% 0%, rgba(213,217,96,.12), transparent 60%) !important;
}

/* ── 2. CATCHALL Textfarben dunkel ───────────────────────────────
 *
 * Alle Text-Container im Wizard kriegen dunkle Textfarbe. Akzent-Whitelist
 * weiter unten holt die gelben Elemente wieder zurück.
 */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) h1,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) h2,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) h3,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) p,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) span,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) div,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) li,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) button {
  color: #1a2030 !important;
}

/* Sublabel-Tonalität (weicher als h1, aber noch lesbar) */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-lead,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-sub,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-sublead,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-hint,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-group-label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-group-hint,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-section-label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-disclaimer,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-strength-label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-check-meta,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-info,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-info-label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-back,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-progress-label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-row-label,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-block-title {
  color: rgba(26,32,48,.62) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-row-value {
  color: #0a0e14 !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-row-value.is-muted {
  color: rgba(26,32,48,.45) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-block-edit,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) #kvw-review-edit {
  color: #5b6300 !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-block {
  border-top-color: rgba(26,32,48,.10) !important;
}

/* ── 3. Akzent-Whitelist (gelb bleibt gelb auch im Light) ─────── */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-eyebrow,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-required,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-req {
  color: #5b6300 !important; /* dunkleres Olive für Lesbarkeit auf hell */
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-progress-fill {
  background: #d5d960 !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-progress-label.is-active {
  color: #0a0e14 !important;
  font-weight: 600;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-progress-label.is-done {
  color: rgba(26,32,48,.85) !important;
}

/* ── 4. Inputs / Selects / Textarea ────────────────────────────── */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-input,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-select,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) input,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) select,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) textarea {
  background: transparent !important;
  color: #0a0e14 !important;
  border-bottom-color: rgba(26,32,48,.20) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-input::placeholder,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) input::placeholder,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) textarea::placeholder {
  color: rgba(26,32,48,.35) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-input:focus,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) input:focus,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) select:focus,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) textarea:focus {
  border-bottom-color: #d5d960 !important;
}

/* ── 5. Action-Bar Light ───────────────────────────────────────── */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-actionbar {
  background: rgba(247,248,250,.92) !important;
  border-top: 1px solid rgba(26,32,48,.10) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-next {
  background: #d5d960 !important;
  color: #0a0e14 !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-next:disabled {
  opacity: .4;
}

/* ── 6. Progress-Track + Cards (Background) ───────────────────── */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-progress-track {
  background: rgba(26,32,48,.10) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-info,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-block,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-block-body,
/* ── Review-Blöcke (Pruefen-Page) — GLOBAL Layout, gilt Light + Dark ──
 *
 * 2026-05-31 v2: Layout (Karten-Border, Padding, Flex-Head, Bearbeiten-
 * Button-Position) sind im Default, NICHT Light-only. Sonst rutscht der
 * Bearbeiten-Button im Dark unter die Headline statt rechts daneben.
 * Farb-Overrides für Light/Dark separat.
 */
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block {
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 10px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.10);
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block-title {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #e8eaf0;
  margin: 0;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-edit {
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  padding: 4px 12px;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #d5d960;
  flex-shrink: 0;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-edit:hover {
  background: rgba(213,217,96,.08);
  border-color: rgba(213,217,96,.40);
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-line {
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(232,234,240,.78);
  padding: 2px 0;
}
[id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-line strong {
  color: #e8eaf0;
  font-weight: 600;
}

/* Light-Mode Color-Overrides nur für Farben — Layout-Werte sind global oben */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block {
  background: #ffffff !important;
  border-color: rgba(26,32,48,.12) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block-head {
  border-bottom-color: rgba(26,32,48,.08) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-block-title {
  color: #0a0e14 !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-edit {
  border-color: rgba(26,32,48,.20) !important;
  color: #5b6300 !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-edit:hover {
  background: rgba(213,217,96,.10) !important;
  border-color: rgba(213,217,96,.55) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-line {
  color: rgba(26,32,48,.85) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-block-title,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-review-line strong {
  color: #0a0e14 !important;
  font-weight: 600;
}

/* Disclaimer auf Pruefen-Page deutlich lesbar */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-disclaimer {
  color: rgba(26,32,48,.78) !important;
  font-size: 13px;
  line-height: 1.6;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-disclaimer strong {
  color: #0a0e14 !important;
  font-weight: 700;
}

/* ── 7. Inline-Style-Overrides aus kl-ver-konto.js (Erfolgs-View) ─
 * Die Render-Funktion setzt direkt style="color:#e8eaf0" etc. Diese
 * Inline-Styles ohne !important verlieren gegen unsere externen
 * !important-Regeln — solange die Selektoren breit genug sind.
 */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) [style*="background:rgba(213,217,96,.05)"],
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) [style*="background:rgba(213,217,96,.08)"] {
  background: rgba(213,217,96,.12) !important;
  border-color: rgba(213,217,96,.55) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) [style*="background:rgba(10,14,20,.72)"] {
  background: rgba(247,248,250,.92) !important;
}

/* ── 7b. Checkboxes (AGB/AVV/DSGVO) Light ─────────────────────── */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) input[type="checkbox"],
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-check input[type="checkbox"] {
  background: #ffffff !important;
  border-color: rgba(26,32,48,.35) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) input[type="checkbox"]:hover,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-check input[type="checkbox"]:hover {
  border-color: rgba(213,217,96,.70) !important;
}
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) input[type="checkbox"]:checked,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-check input[type="checkbox"]:checked {
  background: #d5d960 !important;
  border-color: #d5d960 !important;
}
/* PDF-Links innerhalb der Check-Labels (AGB-Link, AVV-Link, Datenschutz-Link) */
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) .kvw-a-check label a,
body.theme-light.is-onboarding [id^="p-kl-ver-"]:not(#p-kl-ver-welcome) a {
  color: #5b6300 !important;
}

/* ── 8. Theme-Toggle Button Light ─────────────────────────────── */
body.theme-light #kvw-theme-toggle {
  background: rgba(0,0,0,.04) !important;
  border-color: rgba(26,32,48,.18) !important;
  color: #1a2030 !important;
}
body.theme-light #kvw-theme-toggle:hover {
  background: rgba(0,0,0,.08) !important;
  border-color: rgba(213,217,96,.55) !important;
}

/* Welcome-Page bewusst NICHT überschrieben — Marketing-Front-Door bleibt dark.
   Light-Toggle in der Welcome-Page hat einen Light-Override in
   kl-ver-welcome.css (Brand-Pill, Hero, 3-Card-Grid, Schritte-Liste). */

/* Käufer-Sicht — Minimal-Filter (2026-05-31, v4)
 *
 * Strikt nur display:none auf bestehender Admin-Sidebar/Topbar.
 * KEINE neuen Komponenten, keine eigenen Icons.
 * Sidebar-Struktur (Stand 2026-05-31):
 *   .sb-logo
 *   .sb-quickbar > .sb-qitem (Home)
 *   .sb-divider
 *   .sb-nav
 *     .nav-sec#nav-sec-kunden + .ni-group#kunden-items (mandanten dynamisch)
 *     .nav-sec#nav-sec-repowering + .ni-group#repowering-items
 *     .nav-sec#nav-sec-einstellungen + .ni-group#einstellungen-items
 *     .nav-sec#nav-sec-ux-ui + .ni-group#ux-ui-items
 *     .nav-sec#nav-sec-api + .ni-group#api-items
 */

/* Quick-Bar (Home) bleibt sichtbar — der nav('repowering-home')-Aufruf wird
   in navigation.js für is-buyer auf kd-orders mit eigener tenant_id umgeleitet. */

/* Alle Sektionen außer KUNDEN raus (Header + direkte Group-Container).
 * WICHTIG: `>` (direct child) damit die ni-subgroups INNERHALB von #kunden-items
 * (Bestellübersicht + Pipeline pro Mandant) nicht mit versteckt werden. */
body.is-buyer .sb-nav > .nav-sec:not(#nav-sec-kunden),
body.is-buyer .sb-nav > .ni-group:not(#kunden-items) {
  display: none !important;
}

/* KUNDEN-Sektion: nur eigene tenant_id sichtbar — sidebar-mandanten.js
   filtert die mandanten-Liste auf eigene tenant_id, alle Toggle+Subitems
   für fremde Tenants werden gar nicht erst gerendert. */

/* Topbar entrümpeln — Live-Pill, Search, Problem-melden raus.
   Theme-Toggle bleibt (User-Wunsch: hell/dunkel auch für Käufer). */
body.is-buyer #tb-search-wrap,
body.is-buyer .tb-search,
body.is-buyer .pill.a,
body.is-buyer .tb-ico-report,
body.is-buyer .tb-bookmarks,
body.is-buyer #live-pill,
body.is-buyer [class*="live-indicator"] {
  display: none !important;
}

/* ── Sidebar-Logo Theme-Switch ────────────────────────────────
   MSE-Default ist Dark (kein data-theme), Light ist html[data-theme="light"].
   → Default zeigt weiss-Variante, Light zeigt RGB-Variante. */
.sb-logo-light { display: none !important; }
.sb-logo-dark  { display: block !important; }
html[data-theme="light"] .sb-logo-light { display: block !important; }
html[data-theme="light"] .sb-logo-dark  { display: none !important; }

.tcard{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);overflow:hidden}
.thead{padding: 13px 17px;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap: 9px}
.ttitle{font-size:13px;font-weight:600}.tcount{font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace}
table{width:100%;border-collapse:collapse;font-size:11.5px}
th{text-align:left;padding: var(--space-2) 13px;color:var(--tx3);font-weight:500;font-size:10px;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--bd);white-space:nowrap;cursor:pointer;background:var(--sur)}
th:hover{color:var(--tx2)}
td{padding: 9px 13px;border-bottom:1px solid var(--bd);color:var(--tx2);vertical-align:middle}
tr:hover td{background:rgba(255,255,255,.018);color:var(--tx)}
tr{cursor:pointer}
.pagi{display:flex;gap: var(--space-1);align-items:center;padding: 11px 14px;border-top:1px solid var(--bd)}
.pgb{width:25px;height:25px;border-radius: 5px;display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;border:1px solid var(--bd);background:var(--sur2);color:var(--tx2);transition:all .12s}
.pgb:hover{color:var(--tx);border-color:var(--bd2)}.pgb.on{background:rgba(74,222,128,.09);color:var(--ac);border-color:rgba(74,222,128,.22)}
.pginfo{font-size:10px;color:var(--tx3);font-family:'DM Mono',monospace;margin-left: auto}

.dw{background:var(--sur);border:1px solid var(--bd);border-radius: 12px;padding: 22px var(--space-5)}
.dw-head{display:flex;align-items:center;justify-content:space-between;margin-bottom: var(--space-4)}
.dw-title{display:flex;align-items:center;gap: var(--space-2);font-size:13px;font-weight:600;color:var(--tx)}
.dw-title svg{width:14px;height:14px;opacity:.6;flex-shrink:0}
.dw-tab{flex:1;padding: 6px;background:none;border:none;font-size:11px;color:var(--tx3);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .12s}
.dw-tab.on{background:var(--sur);color:var(--tx);font-weight:600}
.dw-stats{display:flex;gap: 0;background:var(--sur2);border-radius: 8px;overflow:hidden;margin-bottom: 14px}
.dw-stat{flex:1;padding: var(--space-3) var(--space-4);border-right:1px solid var(--bd)}
.dw-stat:last-child{border-right:none}
.dw-sv{font-size:20px;font-weight:700;color:var(--tx);font-family:'DM Mono',monospace;margin-bottom: 3px;line-height:1}
.dw-sl{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.04em}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap: 11px;margin-bottom: 20px}
.kpi{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 15px 17px;position:relative;overflow:hidden}
.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.kpi.g::before{background:linear-gradient(90deg,var(--ac),transparent)}.kpi.c::before{background:linear-gradient(90deg,var(--ac2),transparent)}
.kpi.a::before{background:linear-gradient(90deg,var(--ac3),transparent)}.kpi.r::before{background:linear-gradient(90deg,var(--ac4),transparent)}
.kpi-lb{font-size:10.5px;color:var(--tx2);margin-bottom: 6px;font-weight:500}
.kpi-v{font-size:25px;font-weight:600;font-family:'DM Mono',monospace;line-height:1}
.kpi-s{font-size:10px;color:var(--tx3);margin-top: 5px}.kpi-s b{color:var(--ac)}
.mc{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 17px;cursor:pointer;transition:all .17s}
.mc:hover{border-color:var(--bd2);transform:translateY(-1px)}
.mc-head{display:flex;align-items:center;gap: var(--space-2);margin-bottom: 11px}
.mc-ico{width:32px;height:32px;border-radius: 7px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.mc-ico.g{background:rgba(74,222,128,.1)}.mc-ico.c{background:rgba(34,211,238,.1)}.mc-ico.a{background:rgba(245,158,11,.1)}.mc-ico.p{background:rgba(167,139,250,.1)}
.mc-title{font-size:12.5px;font-weight:600}.mc-sub{font-size:10px;color:var(--tx3)}
.mc-stats{display:flex;gap: 14px}
.mc-links{display:flex;gap: 7px;flex-wrap:wrap;margin-top: 11px;padding-top: 11px;border-top:1px solid var(--bd)}
.prov-card{background:rgba(74,222,128,.06);border:1px solid rgba(74,222,128,.18);border-radius: 9px;padding: var(--space-4);margin-bottom: var(--space-3)}
.pcard-new{background:var(--sur);border:1px solid var(--bd);border-radius: 11px;padding: 18px;cursor:pointer;transition:all .18s}
.pcard-new:hover{border-color:var(--bd2);transform:translateY(-1px)}
.stamm-section{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 20px;margin-bottom: 14px}
.ecard{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 15px}
.trcard{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 17px;cursor:pointer;transition:all .17s}
.trcard:hover{border-color:var(--bd2);transform:translateY(-1px)}
.na-card{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 20px;margin-bottom: 14px}
.na-card-title{font-size:12.5px;font-weight:600;color:var(--tx2);margin-bottom: var(--space-4)}

/* KB → WDB-Audit Bridge-Button — eigenes Modul-CSS.
   Nutzt die existierende .kb-act-Klasse als Basis (kommt aus knowledgebase.css)
   und ergänzt nur den Audit-spezifischen Hover-Akzent + Loading-State. */

.kb-audit-bridge-btn {
  cursor: pointer;
  user-select: none;
  transition: color 0.15s, background 0.15s;
}
.kb-audit-bridge-btn:hover {
  color: var(--ac);
  background: rgba(213, 217, 96, 0.08);
}
.kb-audit-bridge-btn.kb-audit-loading {
  color: var(--ac);
  pointer-events: none;
  opacity: 0.7;
}
.kb-audit-bridge-btn.kb-audit-loading svg {
  animation: kbab-spin 0.8s linear infinite;
}
@keyframes kbab-spin { to { transform: rotate(360deg); } }

/* KB-Edit-UI — Inline-Editor in der Wissensdatenbank.
   Eigenes Modul-CSS, getrennt von knowledgebase.css und vom Audit-Editor. */

.kbe.kb-editing {
  border-color: var(--ac);
  box-shadow: 0 0 0 1px var(--ac);
}

.kba.kba-editing {
  /* Antwort-Container während Edit aufpumpen */
  display: block;
  height: auto !important;
  padding: var(--space-3) 14px;
}

.kb-edit-textarea {
  width: 100%;
  background: var(--bg);
  border: 1px solid rgba(213, 217, 96, 0.4);
  border-radius: var(--radius-md);
  padding: var(--space-3) 14px;
  font: 400 13.5px/1.55 'DM Sans', system-ui, sans-serif;
  color: var(--tx);
  resize: vertical;
  min-height: 160px;
  outline: none;
  box-sizing: border-box;
}
.kb-edit-textarea:focus {
  border-color: var(--ac);
  box-shadow: 0 0 0 2px rgba(213, 217, 96, 0.18);
}

.kb-edit-actions {
  display: flex;
  gap: var(--space-2);
  margin-top: 10px;
  align-items: center;
}

.kb-edit-btn {
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx);
  padding: 6px 14px;
  border-radius: var(--radius-md);
  cursor: pointer;
  font: 500 12px 'DM Sans', sans-serif;
  transition: all 0.15s;
}
.kb-edit-btn:hover { border-color: var(--ac); }
.kb-edit-btn.save {
  background: var(--ac);
  border-color: var(--ac);
  color: #1a1f0a;
  font-weight: 600;
}
.kb-edit-btn.save:hover { filter: brightness(1.1); }
.kb-edit-btn.save:disabled { opacity: 0.55; cursor: wait; }
.kb-edit-btn.cancel:hover { border-color: #ef5350; color: #ff8a86; }

.kb-edit-id {
  margin-left: auto;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  letter-spacing: 0.04em;
}

/* WDB-Audit Auto-Research — eigenes Modul-CSS, modular getrennt vom
   Audit-Karten-CSS. */

.wdb-ar-btn {
  background: rgba(213, 217, 96, 0.06);
  border-color: rgba(213, 217, 96, 0.4);
  color: var(--ac);
}
.wdb-ar-btn:hover {
  background: rgba(213, 217, 96, 0.14);
  border-color: var(--ac);
}
.wdb-ar-btn.wdb-ar-loading {
  opacity: 0.7;
  cursor: wait;
}
.wdb-ar-btn.wdb-ar-loading svg {
  animation: wdb-ar-spin 0.8s linear infinite;
}
@keyframes wdb-ar-spin { to { transform: rotate(360deg); } }

.wdb-ar-bulkbar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0 18px 0;
  margin-bottom: 6px;
  flex-wrap: wrap;
  border-bottom: 1px dashed var(--bd);
}

.wdb-ar-bulk-btn {
  background: rgba(213, 217, 96, 0.08);
  border: 1px solid rgba(213, 217, 96, 0.5);
  color: var(--ac);
  padding: 7px var(--space-4);
  border-radius: var(--radius-md);
  cursor: pointer;
  font: 600 12px 'DM Sans', sans-serif;
  display: inline-flex;
  align-items: center;
  transition: all 0.15s;
}
.wdb-ar-bulk-btn:hover:not(:disabled) {
  background: rgba(213, 217, 96, 0.18);
  border-color: var(--ac);
}
.wdb-ar-bulk-btn:disabled { opacity: 0.5; cursor: wait; }

.wdb-ar-bulk-status {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: var(--tx3);
}
.wdb-ar-bulk-status.running { color: var(--ac); }
.wdb-ar-bulk-status.ok { color: #8fd693; }
.wdb-ar-bulk-status.err { color: #ffc77a; }

/* KB-Detail-Panel — rechte Sidebar für Wissensdatenbank-Einträge.
   Eigenes Modul-CSS. Folgt dem Pattern von wdb-audit-research.css. */

.kb-detail-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 520px;
  max-width: 100vw;
  height: 100vh;
  background: var(--sur);
  border-left: 1px solid var(--bd);
  box-shadow: -8px 0 32px rgba(0,0,0,.45);
  z-index: 500;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
  display: flex;
  flex-direction: column;
  font-family: 'DM Sans', system-ui, sans-serif;
}
.kb-detail-panel.open { transform: translateX(0); }

@media (max-width: 800px) {
  .kb-detail-panel { width: 100vw; }
}

.kb-dp-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 26px var(--space-4);
  border-bottom: 1px solid var(--bd);
}
.kb-dp-titlebox { flex: 1; min-width: 0; }
.kb-dp-cat {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--ac);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: var(--space-2);
}
.kb-dp-q {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--tx);
  margin: 0;
  word-wrap: break-word;
}
.kb-dp-close {
  width: 32px;
  height: 32px;
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx2);
  border-radius: var(--radius-md);
  font-size: 18px;
  cursor: pointer;
  flex-shrink: 0;
}
.kb-dp-close:hover { border-color: var(--ac); color: var(--tx); }

.kb-dp-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 26px var(--space-5);
}

.kb-dp-block { margin-bottom: 18px; }
.kb-dp-label {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--tx3);
  margin-bottom: var(--space-2);
}

.kb-dp-answer {
  font-size: 14px;
  line-height: 1.6;
  color: var(--tx);
  white-space: pre-wrap;
  word-wrap: break-word;
}

.kb-dp-editor {
  width: 100%;
  background: var(--bg);
  border: 1px solid rgba(213, 217, 96, 0.4);
  border-radius: var(--radius-md);
  padding: var(--space-3) 14px;
  font: 400 13.5px/1.55 'DM Sans', system-ui, sans-serif;
  color: var(--tx);
  resize: vertical;
  min-height: 240px;
  outline: none;
  box-sizing: border-box;
}
.kb-dp-editor:focus {
  border-color: var(--ac);
  box-shadow: 0 0 0 2px rgba(213, 217, 96, 0.18);
}

.kb-dp-sources {
  background: rgba(213, 217, 96, 0.04);
  border: 1px solid rgba(213, 217, 96, 0.18);
  border-radius: var(--radius-md);
  padding: var(--space-3) 14px;
  margin-top: 18px;
}
.kb-dp-sources-label {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--ac);
  margin-bottom: var(--space-2);
}
.kb-dp-sources-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.kb-dp-sources-list li {
  font-size: 12.5px;
  line-height: 1.4;
}
.kb-dp-sources-list a {
  color: var(--ac);
  text-decoration: none;
  word-break: break-word;
}
.kb-dp-sources-list a:hover { text-decoration: underline; }

.kb-dp-meta {
  margin-top: var(--space-4);
  font-family: 'DM Mono', monospace;
  font-size: 10.5px;
  color: var(--tx3);
  letter-spacing: 0.04em;
}

.kb-dp-actions {
  display: flex;
  gap: var(--space-2);
  padding: 14px 26px;
  border-top: 1px solid var(--bd);
  background: var(--sur);
  flex-wrap: wrap;
}

.kb-dp-btn {
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx);
  padding: 7px var(--space-4);
  border-radius: var(--radius-md);
  cursor: pointer;
  font: 500 12px 'DM Sans', sans-serif;
  transition: all 0.15s;
}
.kb-dp-btn:hover { border-color: var(--ac); }
.kb-dp-btn.save {
  background: var(--ac);
  border-color: var(--ac);
  color: #1a1f0a;
  font-weight: 600;
}
.kb-dp-btn.save:hover { filter: brightness(1.1); }
.kb-dp-btn.save:disabled { opacity: 0.55; cursor: wait; }
.kb-dp-btn.delete:hover { border-color: #ef5350; color: #ff8a86; background: rgba(239,83,80,0.06); }

/* Liste rechts schmäler ziehen, wenn Panel offen ist (auf großen Screens) */
@media (min-width: 1300px) {
  body.kb-detail-open #p-kb { padding-right: 540px; }
}

/* Karten in der Liste kompakter, weil Antwort-Text jetzt im Panel angezeigt wird */
body.kb-detail-open #p-kb .kbe .kba { display: none; }
body.kb-detail-open #p-kb .kbe .kb-acts { display: none; }
body.kb-detail-open #p-kb .kbe .kb-meta { padding-top: var(--space-1); }

/* Audit-Notifications — Bell-Icon in der Topbar + Slide-In-Panel rechts.
   Eigenes Modul-CSS (Phase 2.5). */

.audit-notif-bell {
  position: relative;
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx2);
  width: 32px;
  height: 32px;
  border-radius: var(--radius-md);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: var(--space-2);
  transition: all 0.15s;
}
.audit-notif-bell:hover { border-color: var(--ac); color: var(--tx); }
.audit-notif-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 16px;
  padding: 0 var(--space-1);
  background: #ef5350;
  color: #fff;
  font: 600 10px 'DM Mono', monospace;
  border-radius: var(--radius-pill);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid var(--bg);
}
.audit-notif-badge[hidden] { display: none; }

.audit-notif-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 460px;
  max-width: 100vw;
  height: 100vh;
  background: var(--sur);
  border-left: 1px solid var(--bd);
  box-shadow: -8px 0 32px rgba(0,0,0,.45);
  z-index: 600;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
  display: flex;
  flex-direction: column;
  font-family: 'DM Sans', system-ui, sans-serif;
}
.audit-notif-panel.open { transform: translateX(0); }

.anp-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 26px 14px;
  border-bottom: 1px solid var(--bd);
}
.anp-titlebox { flex: 1; min-width: 0; }
.anp-cat {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--ac);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 6px;
}
.anp-title {
  font-size: 17px;
  font-weight: 600;
  color: var(--tx);
  margin: 0;
}
.anp-close {
  width: 32px;
  height: 32px;
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx2);
  border-radius: var(--radius-md);
  font-size: 18px;
  cursor: pointer;
}
.anp-close:hover { border-color: var(--ac); color: var(--tx); }

.anp-actions {
  padding: 10px 26px;
  border-bottom: 1px solid var(--bd);
}

.anp-btn {
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx);
  padding: 6px var(--space-3);
  border-radius: var(--radius-md);
  cursor: pointer;
  font: 500 12px 'DM Sans', sans-serif;
  transition: all 0.15s;
}
.anp-btn:hover { border-color: var(--ac); }
.anp-btn.pri {
  background: var(--ac);
  border-color: var(--ac);
  color: #1a1f0a;
  font-weight: 600;
}
.anp-btn.pri:hover { filter: brightness(1.1); }

.anp-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-4) 26px var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.anp-empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--tx3);
}
.anp-empty-icon {
  font-size: 36px;
  color: var(--ac);
  margin-bottom: 10px;
}
.anp-empty-title { font-size: 14px; color: var(--tx); margin-bottom: var(--space-1); }
.anp-empty-sub { font-size: 12px; color: var(--tx3); }

.anp-item {
  background: var(--bg);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: 14px var(--space-4);
}
.anp-item.err { border-left: 3px solid #ef5350; }
.anp-item.warn { border-left: 3px solid #ffb74d; }
.anp-item.off { border-left: 3px solid #60a5fa; }

.anp-item-head {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
  flex-wrap: wrap;
}
.anp-badge {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  padding: 2px var(--space-2);
  border-radius: var(--radius-sm);
  letter-spacing: 0.06em;
}
.anp-badge.err { background: rgba(239,83,80,0.14); color: #ff8a86; }
.anp-badge.warn { background: rgba(255,183,77,0.14); color: #ffc77a; }
.anp-badge.off { background: rgba(96,165,250,0.14); color: #93c5fd; }

.anp-type {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.anp-old {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  font-style: italic;
}

.anp-q {
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--tx);
  margin-bottom: 6px;
}
.anp-cat-tag {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  margin-bottom: var(--space-2);
}
.anp-komm {
  font-size: 12px;
  color: var(--tx2);
  line-height: 1.5;
  font-style: italic;
  margin-bottom: var(--space-3);
}

.anp-item-actions {
  display: flex;
  gap: var(--space-2);
  flex-wrap: wrap;
  margin-top: 6px;
}
.anp-item-actions .anp-btn { padding: 5px var(--space-3); font-size: 11px; }

/* facelift.css — neue Editorial-Komponenten aus Phase 4.
 * Alt und Neu koexistieren: bestehende Klassen bleiben, neue heißen n-*.
 * Pro Page-Migration einzeln aktivieren. Vorlage: facelift-mockup.html (Sektion 7+).
 *
 * Hängt an plattform-weiten Tokens aus base/variables.css.
 * --ac ist in beiden Modi olive (Dark: hell #d5d960, Light: dunkel #7a8024).
 * --brand bleibt brand-blau für Logo/Identitätsstellen.
 */

/* ─── Buttons ───────────────────────────────────────── */
.n-btn{display:inline-flex;align-items:center;gap: 6px;background:transparent;border:1px solid var(--bd);color:var(--tx);padding: var(--space-2) var(--space-4);border-radius: 8px;font:500 12.5px 'DM Sans',system-ui,sans-serif;cursor:pointer;transition:all .15s;text-decoration:none}
.n-btn:hover{border-color:var(--ac);color:var(--ac);background:rgba(213,217,96,.04)}
.n-btn-pri{background:var(--ac);border-color:var(--ac);color:var(--ac-on);font-weight:600}
.n-btn-pri:hover{filter:brightness(1.08);color:var(--ac-on);background:var(--ac)}
.n-btn-ghost{background:transparent;border:none;color:var(--tx2);padding: 6px 10px}
.n-btn-ghost:hover{color:var(--ac);background:rgba(213,217,96,.06)}
.n-btn-del{border-color:rgba(248,113,113,.4);color:#ff8a86}
.n-btn-del:hover{background:rgba(248,113,113,.08);border-color:#ef5350;color:#ff8a86}
.n-btn-icon{padding: var(--space-2);width:36px;height:36px;justify-content:center;border-radius: 8px}

/* ─── Pills / Tabs ───────────────────────────────────── */
.n-pills{display:flex;gap: 6px;flex-wrap:wrap}
.n-pill{background:transparent;border:1px solid var(--bd);color:var(--tx2);padding: 7px 14px;border-radius: var(--radius-pill);cursor:pointer;font:500 12px 'DM Sans',system-ui,sans-serif;letter-spacing:.01em;transition:all .15s;display:inline-flex;align-items:center;gap: 6px}
.n-pill:hover{border-color:var(--ac);color:var(--tx)}
.n-pill.on{background:var(--ac);border-color:var(--ac);color:var(--ac-on);font-weight:600}
.n-pill .n-pill-cnt{font-family:'DM Mono',monospace;font-size:10px;background:rgba(255,255,255,.08);padding: 1px 6px;border-radius: var(--radius-pill);font-weight:600}
.n-pill.on .n-pill-cnt{background:rgba(0,0,0,.18);color:var(--ac-on)}

/* ─── Inputs / Form-Controls ─────────────────────────── */
.n-input{width:100%;background:var(--bg);border:1px solid var(--bd);border-radius: 8px;padding: 10px 14px;color:var(--tx);font:400 13.5px 'DM Sans',system-ui,sans-serif;transition:all .15s}
.n-input:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15)}
.n-input::placeholder{color:var(--tx3)}
.n-textarea{min-height:90px;resize:vertical;line-height:1.55}

.n-switch{position:relative;display:inline-block;width:38px;height:22px;cursor:pointer}
.n-switch input{opacity:0;width:0;height:0}
.n-switch span{position:absolute;inset:0;background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-pill);transition:.2s}
.n-switch span::before{content:"";position:absolute;width:14px;height:14px;left:3px;top:50%;transform:translateY(-50%);background:var(--tx2);border-radius: 50%;transition:.2s}
.n-switch input:checked + span{background:var(--ac);border-color:var(--ac)}
.n-switch input:checked + span::before{transform:translate(15px,-50%);background:var(--ac-on)}
.n-toggle-row{display:flex;align-items:center;gap: 10px;font-size:12.5px}

.n-radio{display:flex;flex-direction:column;gap: var(--space-2)}
.n-radio label{display:flex;align-items:center;gap: 10px;cursor:pointer;padding: var(--space-2) var(--space-3);border:1px solid var(--bd);border-radius: 8px;transition:all .15s;font-size:12.5px}
.n-radio label:hover{border-color:rgba(213,217,96,.4)}
.n-radio input{display:none}
.n-radio label::before{content:"";width:16px;height:16px;border:1.5px solid var(--bd);border-radius: 50%;flex-shrink:0;transition:all .15s}
.n-radio input:checked + label{border-color:var(--ac);background:rgba(213,217,96,.06);color:var(--tx)}
.n-radio input:checked + label::before{border-color:var(--ac);background:radial-gradient(circle, var(--ac) 0 5px, transparent 5px)}

.n-check{display:inline-flex;align-items:center;gap: 10px;cursor:pointer;font-size:12.5px}
.n-check input{display:none}
.n-check span{width:16px;height:16px;border:1.5px solid var(--bd);border-radius: var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.n-check input:checked + span{background:var(--ac);border-color:var(--ac)}
.n-check input:checked + span::after{content:"✓";color:var(--ac-on);font-size:12px;font-weight:700}

/* ─── Cards ──────────────────────────────────────────── */
.n-card{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 18px 20px;transition:border-color .2s}
.n-card:hover{border-color:rgba(213,217,96,.4)}
.n-card-status{border-left:3px solid var(--ac)}
.n-card-warn{border-left:3px solid var(--ac3)}
.n-card-err{border-left:3px solid var(--ac4)}
.n-card-meta{display:flex;align-items:center;gap: var(--space-2);font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;margin-bottom: var(--space-2)}
.n-card-meta .n-badge{padding: 2px var(--space-2);border-radius: var(--radius-sm);background:rgba(213,217,96,.18);color:var(--ac);font-weight:600}
.n-card h4{margin: 6px 0 10px;font-size:15px;font-weight:600;color:var(--tx);line-height:1.35}
.n-card p{margin: 0;font-size:12.5px;color:var(--tx2);line-height:1.55}
.n-card-actions{display:flex;gap: var(--space-2);margin-top: 14px;padding-top: 14px;border-top:1px solid var(--bd)}

/* ─── Editorial-List ─────────────────────────────────── */
.n-list{display:flex;flex-direction:column;gap: var(--space-2);list-style:none;padding: 0;margin: 0}
.n-list-item{background:var(--sur);border:1px solid var(--bd);border-radius: 8px;padding: var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap: 14px;transition:all .15s;cursor:pointer}
.n-list-item:hover{border-color:rgba(213,217,96,.35)}
.n-list-main{flex:1;min-width:0}
.n-list-title{font-size:13.5px;font-weight:600;color:var(--tx);margin: 0 0 3px}
.n-list-sub{font-size:11.5px;color:var(--tx3);font-family:'DM Mono',monospace}
.n-list-meta{display:flex;align-items:center;gap: 14px;font-size:11.5px;color:var(--tx2);flex-shrink:0}

/* ─── Badge (klein, inline) ──────────────────────────── */
.n-badge-inline{padding: 2px var(--space-2);border-radius: var(--radius-sm);background:rgba(213,217,96,.18);color:var(--ac);font-family:'DM Mono',monospace;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.n-badge-inline.warn{background:rgba(245,158,11,.18);color:var(--ac3)}
.n-badge-inline.err{background:rgba(248,113,113,.14);color:#ff8a86}

/* ─── View-Toggle ────────────────────────────────────── */
.n-view-toggle{display:inline-flex;background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding: 3px;gap: 2px}
.n-view-btn{background:transparent;border:0;padding: 6px var(--space-3);border-radius: var(--radius-md);color:var(--tx2);cursor:pointer;font:500 11.5px 'DM Sans',system-ui,sans-serif;display:inline-flex;align-items:center;gap: 6px;transition:all .15s}
.n-view-btn:hover{color:var(--tx)}
.n-view-btn.on{background:var(--sur);color:var(--ac);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.n-view-btn svg{width:14px;height:14px}

/* ─── Filter-Bar ─────────────────────────────────────── */
.n-filter-bar{display:flex;gap: var(--space-2);align-items:center;flex-wrap:wrap;padding: 14px;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg)}
.n-filter-search{flex:1;min-width:200px;position:relative}
.n-filter-search input{width:100%;background:var(--bg);border:1px solid var(--bd);border-radius: 8px;padding: var(--space-2) var(--space-3) var(--space-2) 34px;color:var(--tx);font:400 13px 'DM Sans',system-ui,sans-serif}
.n-filter-search input:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15)}
.n-filter-search::before{content:"⌕";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--tx3);font-size:14px}
.n-filter-chip{background:var(--sur2);border:1px solid var(--bd);color:var(--tx);padding: 6px 10px 6px var(--space-3);border-radius: var(--radius-md);font:500 11.5px 'DM Sans',system-ui,sans-serif;display:inline-flex;align-items:center;gap: 6px;cursor:pointer;transition:all .15s}
.n-filter-chip:hover{border-color:var(--ac)}
.n-filter-chip.active{background:rgba(213,217,96,.1);border-color:var(--ac);color:var(--ac)}
.n-filter-chip-x{background:rgba(213,217,96,.2);width:16px;height:16px;border-radius: 50%;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:var(--ac);font-weight:700}
.n-filter-sort{background:var(--sur2);border:1px solid var(--bd);color:var(--tx2);padding: 7px var(--space-3);border-radius: 8px;font-size:12px;cursor:pointer;font-family:inherit}

/* ─── Neu-anlegen-Boxen ──────────────────────────────── */
.n-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap: 14px}
.n-create-box{background:var(--sur);border:1.5px dashed var(--bd);border-radius: 12px;padding: var(--space-5) 20px;text-align:center;cursor:pointer;transition:all .2s}
.n-create-box:hover{border-color:var(--ac);background:rgba(213,217,96,.04);transform:translateY(-1px)}
.n-create-icon{width:42px;height:42px;border-radius: var(--radius-lg);background:rgba(213,217,96,.12);color:var(--ac);display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom: var(--space-3);font-weight:300}
.n-create-box h4{margin: 0 0 var(--space-1);font-size:13.5px;font-weight:600;color:var(--tx)}
.n-create-box p{margin: 0;font-size:11.5px;color:var(--tx2);line-height:1.5}
.n-create-box.featured{border-style:solid;background:linear-gradient(180deg, rgba(213,217,96,.06) 0%, var(--sur) 100%);border-color:rgba(213,217,96,.4)}
.n-create-box.featured .n-create-icon{background:var(--ac);color:var(--ac-on)}

/* ─── Hero / Landing ─────────────────────────────────── */
.n-hero{background:var(--sur);border:1px solid var(--bd);border-radius: 14px;padding: var(--space-8) 36px;text-align:center;position:relative;overflow:hidden;min-height:200px}
/* Hero-Placeholder: Container reservieren Platz bevor mountHero async
   feuert. Verhindert Layout-Shift / Scrollsprünge auf Initial-Render. */
[id$="-hero"]:empty{min-height:240px;display:block;border:1px solid var(--bd);border-radius: 14px;background:var(--sur);opacity:.4}
.n-hero::before{content:"";position:absolute;top:-100px;left:50%;width:400px;height:400px;background:radial-gradient(circle, rgba(213,217,96,.08) 0%, transparent 60%);transform:translateX(-50%);pointer-events:none}
.n-hero-eyebrow{font-family:'DM Mono',monospace;font-size:11px;color:var(--ac);text-transform:uppercase;letter-spacing:.12em;margin-bottom: 14px;display:inline-block}
.n-hero h2{margin: 0 0 var(--space-3);font-size:30px;font-weight:600;line-height:1.2;color:var(--tx);position:relative}
.n-hero h2 em{font-style:italic;color:var(--ac);font-weight:500}
.n-hero p{margin: 0 auto var(--space-5);max-width:520px;font-size:14px;color:var(--tx2);line-height:1.6}
.n-hero-actions{display:inline-flex;gap: 10px;flex-wrap:wrap;justify-content:center}
.n-hero-suggestions{margin-top: var(--space-6);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap: 10px;text-align:left}
.n-hero-sug{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 14px var(--space-4);cursor:pointer;transition:all .15s}
.n-hero-sug:hover{border-color:var(--ac);background:rgba(213,217,96,.04)}
.n-hero-sug-cat{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;margin-bottom: 5px}
.n-hero-sug-q{font-size:12.5px;color:var(--tx);font-weight:500;line-height:1.4}

/* ─── Stepper (Wizard) ───────────────────────────────── */
.n-stepper{display:flex;align-items:center;gap: var(--space-2);padding: 14px 0;flex-wrap:wrap}
.n-step{display:inline-flex;align-items:center;gap: var(--space-2)}
.n-step-num{width:26px;height:26px;border-radius: 50%;background:var(--sur2);border:1.5px solid var(--bd);color:var(--tx2);display:inline-flex;align-items:center;justify-content:center;font:600 11px 'DM Mono',monospace;flex-shrink:0;transition:all .15s}
.n-step.done .n-step-num{background:var(--ac);border-color:var(--ac);color:var(--ac-on)}
.n-step.current .n-step-num{background:transparent;border-color:var(--ac);color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.18)}
.n-step-lbl{font-size:12.5px;color:var(--tx2);font-weight:500}
.n-step.done .n-step-lbl,.n-step.current .n-step-lbl{color:var(--tx)}
.n-step.current .n-step-lbl{color:var(--ac);font-weight:600}
.n-step-line{flex:1;min-width:18px;max-width:38px;height:1.5px;background:var(--bd);border-radius: 1px}
.n-step.done + .n-step-line{background:var(--ac)}

/* ─── Search-Suggest-Dropdown ────────────────────────── */
.n-suggest{position:relative;max-width:520px}
.n-suggest > input{width:100%;background:var(--bg);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 11px 14px 11px 38px;color:var(--tx);font:400 13.5px 'DM Sans',system-ui,sans-serif}
.n-suggest > input:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15)}
.n-suggest::before{content:"⌕";position:absolute;left:14px;top:21px;transform:translateY(-50%);color:var(--tx3)}
.n-suggest-shortcut{position:absolute;right:10px;top:21px;transform:translateY(-50%);font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);padding: 2px 6px;background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-sm)}
.n-suggest-drop{margin-top: 6px;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.n-suggest-grp{padding: 6px 0}
.n-suggest-grp + .n-suggest-grp{border-top:1px solid var(--bd)}
.n-suggest-grp-h{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;padding: var(--space-2) 14px var(--space-1)}
.n-suggest-item{padding: var(--space-2) 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap: 10px;font-size:12.5px;color:var(--tx)}
.n-suggest-item:hover,.n-suggest-item.on{background:var(--sur2)}
.n-suggest-item .n-suggest-meta{font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3)}

/* ─── Notification-Bell ──────────────────────────────── */
.n-bell{position:relative;width:36px;height:36px;border:1px solid var(--bd);border-radius: 8px;background:transparent;color:var(--tx2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}
.n-bell:hover{border-color:var(--ac);color:var(--tx)}
.n-bell svg{width:16px;height:16px}
.n-bell-dot{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding: 0 var(--space-1);background:var(--ac4);color:#fff;font:600 10px 'DM Mono',monospace;border-radius: var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--bg)}

.n-notif-drop{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);width:340px;box-shadow:0 8px 24px rgba(0,0,0,.3);overflow:hidden}
.n-notif-h{padding: var(--space-3) 14px;border-bottom:1px solid var(--bd);display:flex;justify-content:space-between;align-items:center;font-size:12.5px}
.n-notif-h strong{color:var(--tx)}
.n-notif-h a{color:var(--ac);text-decoration:none;font-size:11.5px;cursor:pointer}
.n-notif-list{max-height:340px;overflow-y:auto}
.n-notif-item{padding: 11px 14px;border-bottom:1px solid var(--bd);cursor:pointer;display:flex;gap: 10px;transition:background .15s}
.n-notif-item:hover{background:var(--sur2)}
.n-notif-item:last-child{border-bottom:0}
.n-notif-item.unread{background:rgba(213,217,96,.04)}
.n-notif-dot{width:8px;height:8px;border-radius: 50%;background:var(--ac);flex-shrink:0;margin-top: 6px}
.n-notif-item:not(.unread) .n-notif-dot{background:transparent}
.n-notif-body{flex:1;min-width:0}
.n-notif-title{font-size:12.5px;color:var(--tx);font-weight:500;margin: 0 0 3px;line-height:1.4}
.n-notif-meta{font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em}
.n-notif-empty{padding: var(--space-6) 14px;text-align:center;color:var(--tx3);font-size:12.5px}

/* ─── Breadcrumbs ────────────────────────────────────── */
.n-bread{display:flex;align-items:center;gap: 6px;font-size:12px;color:var(--tx3);font-family:'DM Sans',system-ui,sans-serif;flex-wrap:wrap}
.n-bread a{color:var(--tx2);text-decoration:none;cursor:pointer}
.n-bread a:hover{color:var(--ac)}
.n-bread-sep{opacity:.5}
.n-bread-current{color:var(--tx);font-weight:500}

/* ─── Kanban ─────────────────────────────────────────── */
.n-kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap: var(--space-3)}
.n-kanban-col{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 10px;min-height:180px}
.n-kanban-col-h{font-size:11px;font-family:'DM Mono',monospace;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;padding: var(--space-1) 6px 10px;display:flex;justify-content:space-between;align-items:center}
.n-kanban-col-h .n-pill-cnt{background:var(--sur3)}
.n-kanban-card{background:var(--sur);border:1px solid var(--bd);border-radius: 8px;padding: 10px var(--space-3);margin-bottom: var(--space-2);cursor:grab;border-left:3px solid var(--bd)}
.n-kanban-card:hover{border-color:rgba(213,217,96,.4)}
.n-kanban-card.prio-high{border-left-color:var(--ac4)}
.n-kanban-card.prio-mid{border-left-color:var(--ac3)}
.n-kanban-card.prio-low{border-left-color:var(--ac)}
.n-kanban-card-title{font-size:12.5px;color:var(--tx);font-weight:600;margin: 0 0 var(--space-1);line-height:1.35}
.n-kanban-card-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--tx3);font-family:'DM Mono',monospace}

/* ─── Empty-States ───────────────────────────────────── */
.n-empty{padding: var(--space-8) var(--space-5);text-align:center;border:1.5px dashed var(--bd);border-radius: 12px;background:var(--bg)}
.n-empty-icon{font-size:36px;color:var(--tx3);opacity:.6;margin-bottom: 14px;display:block}
.n-empty h4{margin: 0 0 6px;font-size:15px;font-weight:600;color:var(--tx)}
.n-empty p{margin: 0 auto 18px;font-size:12.5px;color:var(--tx2);max-width:340px;line-height:1.55}

/* ─── KPI / Stats ────────────────────────────────────── */
.n-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap: var(--space-3)}
.n-kpi{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 14px var(--space-4);position:relative}
.n-kpi-lbl{font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;margin-bottom: 6px}
.n-kpi-val{font-size:24px;font-weight:600;color:var(--tx);line-height:1.1}
.n-kpi-delta{font-size:11px;font-family:'DM Mono',monospace;margin-top: var(--space-1)}
.n-kpi-delta.up{color:var(--ac)}
.n-kpi-delta.down{color:var(--ac4)}

/* ─── Progress ───────────────────────────────────────── */
.n-prog{height:6px;background:var(--sur2);border-radius: var(--radius-pill);overflow:hidden;position:relative}
.n-prog-fill{height:100%;background:var(--ac);transition:width .3s}
.n-prog-fill.warn{background:var(--ac3)}
.n-prog-fill.err{background:var(--ac4)}
.n-prog-stepped{display:flex;gap: var(--space-1)}
.n-prog-stepped span{flex:1;height:6px;background:var(--sur2);border-radius: var(--radius-pill)}
.n-prog-stepped span.done{background:var(--ac)}
.n-prog-stepped span.current{background:linear-gradient(90deg, var(--ac) 50%, var(--sur2) 50%)}

/* ─── Avatar ─────────────────────────────────────────── */
.n-avatar{width:36px;height:36px;border-radius: 50%;background:var(--ac);color:var(--ac-on);display:inline-flex;align-items:center;justify-content:center;font:600 13px 'DM Sans',system-ui,sans-serif;flex-shrink:0}
.n-avatar-sm{width:24px;height:24px;font-size:10px}
.n-avatar-lg{width:54px;height:54px;font-size:18px}

/* ─── Status-Dot ─────────────────────────────────────── */
.n-status-dot{display:inline-flex;align-items:center;gap: 6px;font-size:11.5px;color:var(--tx2)}
.n-status-dot::before{content:"";width:8px;height:8px;border-radius: 50%;background:var(--tx3)}
.n-status-dot.online::before{background:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.2)}
.n-status-dot.offline::before{background:var(--ac4)}
.n-status-dot.warn::before{background:var(--ac3)}

/* ─── Tooltip ────────────────────────────────────────── */
.n-tooltip-wrap{position:relative;display:inline-block}
.n-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#1a2236;color:#fff;padding: 6px 10px;border-radius: var(--radius-md);font-size:11px;white-space:nowrap;border:1px solid var(--bd);box-shadow:0 4px 14px rgba(0,0,0,.3);pointer-events:none;opacity:0;transition:opacity .15s;z-index:50}
.n-tooltip-wrap:hover .n-tooltip{opacity:1}
.n-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1a2236}

/* ─── File-Upload-Zone ───────────────────────────────── */
.n-upload{border:1.5px dashed var(--bd);border-radius: var(--radius-lg);padding: var(--space-6) 18px;text-align:center;cursor:pointer;transition:all .15s;background:var(--sur)}
.n-upload:hover,.n-upload.dragover{border-color:var(--ac);background:rgba(213,217,96,.04)}
.n-upload-icon{font-size:32px;color:var(--ac);opacity:.7;margin-bottom: 10px;display:block}
.n-upload h5{margin: 0 0 var(--space-1);font-size:13.5px;color:var(--tx)}
.n-upload p{margin: 0;font-size:11.5px;color:var(--tx3)}

/* ─── Tag-Input ──────────────────────────────────────── */
.n-taginput{background:var(--bg);border:1px solid var(--bd);border-radius: 8px;padding: 6px;display:flex;flex-wrap:wrap;gap: 5px;align-items:center;min-height:42px}
.n-taginput:focus-within{border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15)}
.n-tag{background:var(--sur2);color:var(--tx);padding: var(--space-1) var(--space-2) var(--space-1) 10px;border-radius: var(--radius-md);font-size:11.5px;display:inline-flex;align-items:center;gap: 6px;border:1px solid var(--bd)}
.n-tag-x{cursor:pointer;color:var(--tx3);font-size:14px;line-height:1}
.n-tag-x:hover{color:var(--ac4)}
.n-taginput input{flex:1;min-width:80px;background:transparent;border:0;color:var(--tx);font-size:12.5px;padding: var(--space-1) 6px;outline:none}

/* ─── Activity-Timeline ──────────────────────────────── */
.n-timeline{position:relative;padding-left: 22px}
.n-timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1.5px;background:var(--bd)}
.n-tl-item{position:relative;padding: 0 0 18px}
.n-tl-item::before{content:"";position:absolute;left:-22px;top:4px;width:13px;height:13px;border-radius: 50%;background:var(--sur);border:2px solid var(--ac)}
.n-tl-item.muted::before{border-color:var(--bd)}
.n-tl-time{font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;margin-bottom: 3px}
.n-tl-title{font-size:13px;color:var(--tx);font-weight:500;margin: 0 0 2px}
.n-tl-body{font-size:11.5px;color:var(--tx2);line-height:1.5}

/* ─── Pagination ─────────────────────────────────────── */
.n-pagi{display:inline-flex;gap: var(--space-1);background:var(--sur);border:1px solid var(--bd);border-radius: 8px;padding: 3px}
.n-pagi-btn{background:transparent;border:0;padding: 6px 11px;border-radius: var(--radius-md);color:var(--tx2);cursor:pointer;font:500 11.5px 'DM Mono',monospace;min-width:32px}
.n-pagi-btn:hover{color:var(--tx);background:var(--sur2)}
.n-pagi-btn.on{background:var(--ac);color:var(--ac-on);font-weight:600}
.n-pagi-btn:disabled{opacity:.35;cursor:not-allowed}

/* ─── Skeleton-Loading ───────────────────────────────── */
.n-skel{background:linear-gradient(90deg, var(--sur2) 0%, var(--sur3) 50%, var(--sur2) 100%);background-size:200% 100%;animation:n-skel 1.4s ease-in-out infinite;border-radius: var(--radius-md);display:inline-block}
@keyframes n-skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.n-skel-line{height:12px;width:100%;margin: 6px 0;display:block}
.n-skel-line.short{width:60%}
.n-skel-line.tiny{width:30%;height:9px}
.n-skel-circle{width:36px;height:36px;border-radius: 50%}
.n-skel-card{padding: var(--space-4);border:1px solid var(--bd);border-radius: var(--radius-lg);background:var(--sur)}

/* ─── Alert-Banner (Page-top) ────────────────────────── */
.n-alert{display:flex;align-items:flex-start;gap: var(--space-3);padding: var(--space-3) var(--space-4);border:1px solid var(--bd);border-radius: 8px;font-size:13px;line-height:1.5;background:var(--sur)}
.n-alert-icon{flex-shrink:0;width:20px;height:20px;border-radius: 50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;margin-top: 1px}
.n-alert-info{border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.06)}
.n-alert-info .n-alert-icon{background:#60a5fa}
.n-alert-warn{border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.06)}
.n-alert-warn .n-alert-icon{background:var(--ac3)}
.n-alert-err{border-color:rgba(248,113,113,.4);background:rgba(248,113,113,.06)}
.n-alert-err .n-alert-icon{background:var(--ac4)}
.n-alert-ok{border-color:rgba(213,217,96,.4);background:rgba(213,217,96,.06)}
.n-alert-ok .n-alert-icon{background:var(--ac);color:var(--ac-on)}
.n-alert-body{flex:1;min-width:0}
.n-alert-body strong{color:var(--tx);display:block;margin-bottom: 2px;font-size:13px}
.n-alert-body p{margin: 0;color:var(--tx2);font-size:12.5px}
.n-alert-x{background:transparent;border:0;color:var(--tx3);cursor:pointer;font-size:16px;padding: 2px 6px;border-radius: var(--radius-sm);line-height:1}
.n-alert-x:hover{color:var(--tx);background:var(--sur2)}

/* ─── Command-Palette (⌘K) ───────────────────────────── */
.n-cmdk-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:flex-start;justify-content:center;padding-top: 14vh}
.n-cmdk{background:var(--sur);border:1px solid var(--bd);border-radius: 12px;width:520px;max-width:90vw;box-shadow:0 12px 40px rgba(0,0,0,.4);overflow:hidden}
.n-cmdk-input{width:100%;background:transparent;border:0;padding: 14px var(--space-4);color:var(--tx);font:400 14px 'DM Sans',system-ui,sans-serif;border-bottom:1px solid var(--bd)}
.n-cmdk-input:focus{outline:none}
.n-cmdk-input::placeholder{color:var(--tx3)}
.n-cmdk-list{max-height:340px;overflow-y:auto;padding: 6px 0}
.n-cmdk-grp-h{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;padding: var(--space-2) var(--space-4) var(--space-1)}
.n-cmdk-item{padding: 9px var(--space-4);display:flex;align-items:center;gap: var(--space-3);cursor:pointer;font-size:13px;color:var(--tx)}
.n-cmdk-item:hover,.n-cmdk-item.on{background:var(--sur2)}
.n-cmdk-item .n-cmdk-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--tx3);font-size:14px;flex-shrink:0}
.n-cmdk-item .n-cmdk-meta{margin-left: auto;font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3)}
.n-cmdk-foot{padding: var(--space-2) var(--space-4);border-top:1px solid var(--bd);background:var(--sur2);display:flex;gap: 14px;font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3)}
.n-cmdk-foot kbd{background:var(--sur);border:1px solid var(--bd);padding: 1px 5px;border-radius: 3px;font-family:inherit;color:var(--tx2);margin-right: 3px}

/* Inbox-Tabs (Phase 4 Welle 3.K) — Editorial Underline-Tabs für die Inbox-Drawer */
.ibtab{
  flex:1;
  background:transparent;border:0;
  padding: 11px var(--space-2);
  color:var(--tx3);
  font:500 11.5px 'DM Sans',system-ui,sans-serif;
  cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap: 6px;
  border-bottom:2px solid transparent;
  transition:all .15s;
}
.ibtab:hover{color:var(--tx)}
.ibtab.on{color:var(--ac);border-bottom-color:var(--ac);font-weight:600}
.ibtab svg, .ibtab i{flex-shrink:0;opacity:.85}
.ibtab.on svg, .ibtab.on i{opacity:1}

/* Light-Mode-Override für Tooltip (Dark-Bg auf Light passt sonst nicht) */
[data-theme="light"] .n-tooltip{background:#1a2236;color:#fff}

/* Light-Mode: Suggest-Drop Schatten dezenter */
[data-theme="light"] .n-suggest-drop{box-shadow:0 6px 20px rgba(0,0,0,.08)}
[data-theme="light"] .n-notif-drop{box-shadow:0 8px 24px rgba(0,0,0,.10)}
[data-theme="light"] .n-cmdk{box-shadow:0 12px 40px rgba(0,0,0,.18)}

/* Wizard — generische Editorial-Setup-Komponente
 *
 * Stepper oben + ein Step-Container sichtbar zur Zeit. Der jeweils aktive
 * Step trägt `.on`. Done-Steps lassen sich über die Stepper-Pillen anspringen
 * (Rück-Navigation erlaubt). Inhalte der Sektionen leben weiter in den
 * Page-Partials — der Wizard wrappt nur und blendet ein/aus.
 *
 * Verwendet von:
 *   - News-Setup           (js/features/news-settings-wizard.js)
 *   - Sales-CoPilot Setup  (js/copilot/wizard.js)
 *
 * Klassen:
 *   .wz-wrap                Container um den ganzen Wizard
 *   .wz-stepper             Stepper-Header
 *   .wz-pill[.on|.done]     Step-Pille (Number-Circle + Label)
 *   .wz-num                 Number-Circle (umschließt .wz-num-n + .wz-num-c)
 *   .wz-num-n               Step-Nummer (sichtbar, wenn nicht done)
 *   .wz-num-c               Check-SVG (sichtbar nur bei .done)
 *   .wz-step[.on]           Step-Container (display:none default)
 *   .wz-step-head h3/p      Step-Überschrift + Beschreibung
 *   .wz-step-body           Step-Inhalt
 *   .wz-step-foot           Footer mit Buttons
 *   .wz-step-foot-left      linke Button-Gruppe (typisch: Zurück)
 *   .wz-step-foot-right     rechte Button-Gruppe (typisch: Weiter / Go)
 *   .wz-step-info           kleiner mittiger Hinweistext (Schritt N von M)
 */

.wz-wrap {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* ── Stepper-Header ──────────────────────────────────────────────────── */
.wz-stepper {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding: 5px;
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: 12px;
}

.wz-pill {
  flex: 1 1 0;
  min-width: 130px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px var(--space-3);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 9px;
  cursor: pointer;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--tx3);
  text-align: left;
  transition: background .15s, border-color .15s, color .15s;
}

.wz-pill:hover {
  color: var(--tx2);
}

.wz-pill .wz-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--sur2);
  border: 1px solid var(--bd);
  font-size: 11px;
  font-weight: 600;
  color: var(--tx3);
  flex-shrink: 0;
  transition: background .15s, border-color .15s, color .15s;
}

.wz-pill .wz-num-c {
  display: none;
  width: 12px;
  height: 12px;
}

.wz-pill.on {
  background: rgba(213, 217, 96, .08);
  border-color: rgba(213, 217, 96, .3);
  color: var(--tx);
}
.wz-pill.on .wz-num {
  background: var(--ac);
  border-color: var(--ac);
  color: #1a1c0f;
}

.wz-pill.done {
  color: var(--tx2);
}
.wz-pill.done .wz-num {
  background: rgba(213, 217, 96, .14);
  border-color: rgba(213, 217, 96, .4);
  color: var(--ac);
}
.wz-pill.done .wz-num-n { display: none; }
.wz-pill.done .wz-num-c { display: block; }

.wz-pill[disabled] {
  cursor: not-allowed;
  opacity: .5;
}

/* ── Step-Container ──────────────────────────────────────────────────── */
.wz-step {
  display: none;
  padding: 22px var(--space-5) 18px;
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: 12px;
}

.wz-step.on {
  display: block;
  animation: wzFadeIn .22s ease both;
}

@keyframes wzFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.wz-step-head {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--bd);
}

.wz-step-head h3 {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--tx);
  margin: 0 0 5px;
}

.wz-step-head p {
  font-size: 12.5px;
  color: var(--tx3);
  line-height: 1.55;
  margin: 0;
}

/* ── Step-Footer ─────────────────────────────────────────────────────── */
.wz-step-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: 22px;
  padding-top: var(--space-4);
  border-top: 1px solid var(--bd);
  flex-wrap: wrap;
}

.wz-step-foot-left,
.wz-step-foot-right {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.wz-step-info {
  font-size: 11.5px;
  color: var(--tx3);
  font-style: italic;
}

/* Kompaktere Pillen auf schmalen Viewports */
@media (max-width: 720px) {
  .wz-pill { min-width: 0; padding: var(--space-2) 10px; font-size: 12px; }
  .wz-pill .wz-num { width: 20px; height: 20px; font-size: 10.5px; }
  .wz-step { padding: 18px var(--space-4) 14px; }
}

.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - var(--hh) - 130px);max-height:640px;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);overflow:hidden}
.chat-msgs{flex:1;overflow-y:auto;padding: var(--space-4);display:flex;flex-direction:column;gap: 11px}
.chat-foot{border-top:1px solid var(--bd);padding: var(--space-3) 14px;display:flex;gap: var(--space-2);align-items:flex-end}
.cinp{flex:1;background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding: 9px 13px;color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;outline:none;resize:none;min-height:40px;max-height:100px}
.cinp:focus{border-color:var(--bd2)}
.csend{width:40px;height:40px;border-radius: 8px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--ac),var(--ac2));color:#0f1117;font-size:16px;display:flex;align-items:center;justify-content:center;transition:opacity .12s;flex-shrink:0}
.csend:hover{opacity:.82}.csend:disabled{opacity:.35;cursor:not-allowed}
.msg{display:flex;gap: var(--space-2);align-items:flex-start}.msg.u{flex-direction:row-reverse}
.bub{max-width:74%;padding: 10px 13px;border-radius: var(--radius-lg);font-size:12.5px;line-height:1.6}
.msg.b .bub{background:var(--sur2);color:var(--tx);border-bottom-left-radius: 2px;border:1px solid var(--bd)}
.msg.u .bub{background:rgba(74,222,128,.09);color:var(--tx);border-bottom-right-radius: 2px;border:1px solid rgba(74,222,128,.18)}
.mav{width:25px;height:25px;border-radius: 50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:600}
.msg.b .mav{background:linear-gradient(135deg,var(--ac),var(--ac2));color:#0f1117}
.msg.u .mav{background:linear-gradient(135deg,var(--ac3),var(--ac4));color:#0f1117}
.typing{display:flex;gap: 3px;padding: 10px 13px;align-items:center}
.typing span{width:5px;height:5px;border-radius: 50%;background:var(--tx3);animation:bo 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}

/* Tickets-Modal — Topbar-Trigger „Problem melden". Nutzt n-* Editorial-
   Komponenten (facelift.css) wo möglich, ergänzt nur das Modal-spezifische. */

.tk-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: tkFadeIn 0.15s ease-out;
}

@keyframes tkFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.tk-dialog {
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: 14px;
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  animation: tkSlideIn 0.2s ease-out;
}

@keyframes tkSlideIn {
  from { transform: translateY(8px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

.tk-head {
  padding: 18px 22px;
  border-bottom: 1px solid var(--bd);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.tk-head-title {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--tx);
}
.tk-head-sub {
  font-size: 11.5px;
  color: var(--tx3);
  margin-top: 2px;
}
.tk-head-close {
  background: none;
  border: none;
  color: var(--tx3);
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  padding: var(--space-1) var(--space-2);
}
.tk-head-close:hover { color: var(--tx); }

.tk-body {
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.tk-body label {
  display: block;
  font-size: 11px;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  margin-bottom: 5px;
}
.tk-input,
.tk-select,
.tk-textarea {
  width: 100%;
  padding: 9px var(--space-3);
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: 7px;
  color: var(--tx);
  font-size: 13px;
  font-family: 'DM Sans', sans-serif;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.12s, background 0.12s;
}
.tk-input:focus,
.tk-select:focus,
.tk-textarea:focus {
  border-color: var(--ac);
  background: var(--sur);
}
.tk-textarea {
  resize: vertical;
  min-height: 90px;
}
.tk-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
}
.tk-meta {
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: var(--space-2) var(--space-3);
}
.tk-meta summary {
  font-size: 11.5px;
  color: var(--tx3);
  cursor: pointer;
  font-weight: 500;
  user-select: none;
}
.tk-meta-grid {
  margin-top: var(--space-2);
  font-size: 11.5px;
  color: var(--tx2);
  line-height: 1.6;
  font-family: 'DM Mono', monospace;
}
.tk-meta-grid .k { color: var(--tx3); margin-right: var(--space-1); }
.tk-meta-grid .v { color: var(--tx); word-break: break-all; }
.tk-status {
  font-size: 12px;
  color: var(--tx3);
  min-height: 14px;
}

/* User-Anzeige (read-only) — zeigt automatisch erkannten User */
.tk-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: var(--space-2) var(--space-3);
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: 7px;
  flex-wrap: wrap;
}
.tk-user-label {
  font-size: 11px;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}
.tk-user-value {
  font-size: 13px;
  color: var(--tx);
  font-weight: 500;
}
.tk-user-hint {
  font-size: 10.5px;
  color: var(--tx3);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  margin-left: var(--space-1);
}
.tk-label-hint {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  color: var(--tx3);
  font-size: 10.5px;
  margin-left: var(--space-1);
}

/* Screenshot-Upload-Input — gleicher Stil wie .tk-input, aber mit
   integriertem File-Picker-Look. Vorschau direkt drunter. */
.tk-shot-input {
  padding: 7px 10px;
  font-size: 12.5px;
  cursor: pointer;
}
.tk-shot-input::-webkit-file-upload-button {
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: 5px;
  color: var(--tx);
  font-size: 11.5px;
  padding: var(--space-1) 10px;
  margin-right: 10px;
  font-family: 'DM Sans', sans-serif;
  cursor: pointer;
}
.tk-shot-input::-webkit-file-upload-button:hover {
  background: var(--sur3, var(--sur2));
  border-color: var(--ac);
}
.tk-shot-preview:not(:empty) {
  margin-top: var(--space-2);
  padding: 6px;
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
}
.tk-shot-preview img {
  max-width: 100%;
  max-height: 200px;
  display: block;
  border-radius: var(--radius-sm);
}

/* Drag&Drop-Overlay — gleiches Pattern wie pm-screenshots.js. Wird auf
   den Modal-Dialog gelegt, .on schaltet sichtbar. */
.tk-dialog { position: relative; }
.tk-dropzone-overlay {
  display: none;
  position: absolute;
  inset: 0;
  background: rgba(74, 222, 128, 0.08);
  border: 2px dashed rgba(74, 222, 128, 0.5);
  border-radius: 14px;
  z-index: 10;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
  color: var(--ac);
}
.tk-dropzone-overlay.on { display: flex; }
.tk-dropzone-overlay svg { width: 44px; height: 44px; }
.tk-dropzone-overlay-text {
  font-size: 14px;
  font-weight: 600;
  color: var(--ac);
}
.tk-status.err { color: var(--ac4); }
.tk-status.ok  { color: var(--ac); }

.tk-foot {
  padding: 14px 22px;
  border-top: 1px solid var(--bd);
  display: flex;
  justify-content: flex-end;
  gap: var(--space-2);
}

/* Topbar-Bug-Icon: nutzt .tb-ico aus topbar.css, aber subtil heller im Hover */
.tb-ico.tb-ico-report:hover { color: var(--ac3); }

@media (max-width: 600px) {
  .tk-row { grid-template-columns: 1fr; }
}

/* Filter-Status — kleine Statusleiste unter Such-Toolbars die zeigt
   wie viele Items gerade aufgrund von Filtern ausgeblendet sind. Plus
   "Filter zurücksetzen"-Link. Plattformweit nutzbar. */

.filter-status {
  display: none;
  padding: 6px var(--space-3);
  margin: -2px 0 10px;
  background: rgba(213, 217, 96, 0.06);
  border: 1px solid rgba(213, 217, 96, 0.2);
  border-radius: 7px;
  font-size: 11.5px;
  color: var(--tx2);
  align-items: center;
  gap: 10px;
  font-family: 'DM Sans', sans-serif;
}
.filter-status.on {
  display: flex;
}
.filter-status .fs-count {
  font-weight: 600;
  color: var(--ac);
  font-family: 'DM Mono', monospace;
}
.filter-status .fs-spacer {
  flex: 1;
}
.filter-status .fs-reset {
  background: none;
  border: none;
  color: var(--ac);
  cursor: pointer;
  font-size: 11.5px;
  padding: 0;
  font-family: 'DM Sans', sans-serif;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.filter-status .fs-reset:hover {
  color: var(--ac3);
}

/* List-Cards — gemeinsames Markup für Cards-View auf allen Listen-Pages
   (Leads, KV, Distributionen, Angebote, WV, Reklamationen, Partner).
   Phase D Inline-Style-Cleanup, 2026-05-07.

   Vorher hatten alle renderXxx-Funktionen identische inline-style-Strings —
   z.B. style="padding: 14px;display:flex;flex-direction:column;gap:8px" auf
   jeder Card. Jetzt zentral hier als .lc-card. Reduziert Bundle-Size,
   theming-Konsistenz, Light/Dark-Mode-Switch greift einheitlich.

   Klassen-Set:
     .lc-card           — Card-Container (Padding, Flex-Column, Gap)
     .lc-card.is-click  — Pointer-Cursor + Hover-Border (für click-bare Cards)
     .lc-head           — Header-Zeile (Name links, Badge rechts, space-between)
     .lc-title          — Card-Titel (font-weight:600, primary text)
     .lc-sub            — Subtitle unter Titel (kleine Schrift, tx3)
     .lc-grid-1         — Single-Column-Grid für key/value-Paare
     .lc-grid-2         — 2-Spalten-Grid (z.B. Telefon, Quelle, …)
     .lc-grid-label     — Tag innerhalb Grid-Zelle ("Telefon" Label-Style)
     .lc-step           — Footer-Zeile mit Trennlinie ("→ Nächster Schritt")
     .lc-actions        — Action-Button-Reihe (kleine Buttons, gap)
     .lc-actions .btn-d — Danger-Button-Variante (Lösch-Btn, Right-Aligned)
     .lc-meta           — Meta-Footer mit Trennlinie + space-between (für WV, Rekla)

   Zusätzlich Tabellen-Helper für Inline-Tabellen-Zellen, die bisher inline-
   gestyled waren (font-size:11px, color:var(--tx3) etc.):
     .lc-tcell-meta     — small monospace-style cell content
     .lc-tcell-tel      — phone column (font-size 11px)
     .lc-tcell-step     — next-step column
     .lc-tcell-actions  — action-cell mit display:flex+gap:4px für edit/del
*/

/* ── Card-Container ─────────────────────────────────────────────────── */
.lc-card{
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: 9px;
  padding: 14px;
  display:flex;
  flex-direction:column;
  gap: var(--space-2);
  transition:border-color .12s;
}
.lc-card.is-click{cursor:pointer}
.lc-card.is-click:hover{border-color:var(--bd2)}

/* ── Card-Header (Titel + Badge) ─────────────────────────────────────── */
.lc-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: var(--space-2);
}

.lc-title{
  font-weight:600;
  color:var(--tx);
  font-size:13px;
  line-height:1.3;
}
.lc-sub{
  font-size:11px;
  color:var(--tx3);
  margin-top: 2px;
}

/* ── Grids (key/value-Paare innerhalb Card) ──────────────────────────── */
.lc-grid-1{
  display:grid;
  grid-template-columns:1fr;
  gap: var(--space-1);
  font-size:11.5px;
  color:var(--tx2);
}
.lc-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap: 6px var(--space-3);
  font-size:11.5px;
  color:var(--tx2);
}
.lc-grid-label{color:var(--tx3)}

/* ── Footer-Zeilen ──────────────────────────────────────────────────── */
.lc-step{
  font-size:11px;
  color:var(--tx2);
  padding-top: 6px;
  border-top:1px solid var(--bd);
}
.lc-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  color:var(--tx3);
  padding-top: 6px;
  border-top:1px solid var(--bd);
  gap: var(--space-2);
  flex-wrap:wrap;
}

/* ── Action-Buttons (Edit/Delete/Bearbeiten) ─────────────────────────── */
.lc-actions{
  display:flex;
  gap: 6px;
  margin-top: var(--space-1);
  flex-wrap:wrap;
}
.lc-actions .btn{
  font-size:10.5px;
  padding: 3px 10px;
}
.lc-actions .btn-del{
  color:var(--ac4);
  margin-left: auto;
}

/* ── Tabellen-Helper für renderXxx tbody.innerHTML ───────────────────── */
.lc-tcell-meta{font-size:11px;color:var(--tx3)}
.lc-tcell-tel{font-size:11px}
.lc-tcell-step{font-size:11px}
.lc-tcell-actions{display:flex;gap: var(--space-1)}
.lc-tcell-name-firma{font-size:10.5px;color:var(--tx3)}
.lc-tcell-name-bold{font-weight:500}

/* ── Lead-spezifischer Edit/Delete-Btn-Stil (Tabelle) ────────────────── */
.lc-btn-icon{
  font-size:10px;
  padding: 2px var(--space-2);
}
.lc-btn-icon-del{
  font-size:10px;
  padding: 2px 6px;
  color:var(--ac4);
}

/* ── KV-spezifisch (Kunden-Verwaltung Card-ID) ───────────────────────── */
.kv-card-id{
  font-size:11px;
  color:var(--tx3);
  font-family:'DM Mono', monospace;
}

/* ── Distributionen-Card spezifisch ──────────────────────────────────── */
.dd-card-prov{
  color:var(--ac);
  font-weight:600;
  font-size:13px;
}
.dd-card-emails{
  color:var(--tx3);
  font-size:10.5px;
  line-height:1.4;
}

/* ── Angebote-Card spezifisch ────────────────────────────────────────── */
.ag-card-nr{font-family:'DM Mono', monospace}
.ag-card-prov{color:var(--ac);font-weight:600}

/* ── Wiedervorlagen-Card spezifisch ──────────────────────────────────── */
.wv-card-desc{font-size:11.5px;color:var(--tx2)}
.wv-card-actions{margin-top: var(--space-1)}
.wv-card-btn-done{width:100%}

/* ── Reklamationen-Card spezifisch ───────────────────────────────────── */
.rk-card-id{font-family:'DM Mono', monospace}
.rk-card-grund{font-size:11.5px;color:var(--tx2);line-height:1.4}

/* ── Partner-Cards (renderPartner) ───────────────────────────────────── */
.pg-card{
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: 12px;
  padding: 20px;
  cursor:pointer;
  transition:border-color .12s;
}
.pg-card:hover{border-color:var(--bd2)}
.pg-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom: 14px;
  gap: var(--space-2);
}
.pg-card-name{
  font-size:14px;
  font-weight:600;
  color:var(--tx);
}
.pg-card-meta{
  font-size:11px;
  color:var(--tx3);
  margin-top: 2px;
}
.pg-card-status-pill{
  font-size:10px;
  font-weight:600;
  padding: 3px 10px;
  border-radius: 20px;
  border:1px solid;
  white-space:nowrap;
  flex-shrink:0;
}
.pg-card-progress{
  display:flex;
  gap: 3px;
  margin-bottom: 14px;
}
.pg-card-progress-step{
  flex:1;
  height:3px;
  border-radius: 2px;
}
.pg-card-status-info{
  font-size:12px;
  color:var(--tx3);
}
.pg-card-status-ready{color:var(--ac)}

/* Partner-Liste-Tabelle */
.pg-row{cursor:pointer}
.pg-disg-cell{font-weight:600}
.pg-score-cell{color:var(--ac);font-family:'DM Mono', monospace}

/* Generic small button — nutzbar in Cards/Tabellen-Cells */
.lc-btn-sm{font-size:10.5px;padding: 3px 10px}
.lc-btn-md{font-size:11px;padding: var(--space-1) 10px}

/* Empty-State Patterns: <td class="lc-empty-cell"><div class="lc-empty-bare">…</div></td> */
.lc-empty-cell{padding: 0}
.lc-empty-bare{border:0;background:transparent}

/* Tabellen-Cell-Helper für color-styled td/div */
.lc-tcell-name-strong{font-weight:500}
.lc-tcell-firma-sub{font-size:10.5px;color:var(--tx3)}
.lc-tcell-prov{color:var(--ac)}
.lc-tcell-tx2{color:var(--tx2)}
.lc-tcell-emails{font-size:11px;color:var(--tx3)}

/* Distribution-Detail-Overlay E-Mail-Items */
.dd-detail-email{padding: 6px 0;font-size:12px;color:var(--tx2)}

/* Bestandskunden List-Empty (li-Container) */
.k-list-empty{list-style:none}

/* ── Bestandskunden (renderKunden) ───────────────────────────────────── */
.k-row{cursor:pointer}
.k-id-cell{color:var(--tx3);font-size:11px}
.k-prov-cell{color:var(--ac)}
.k-list-verb{
  color:var(--tx3);
  font-family:'DM Mono', monospace;
  font-size:11px;
}
.k-list-prov{color:var(--ac);font-weight:600}
.k-note-item{
  padding: var(--space-2) 0;
  border-bottom:1px solid var(--bd);
  font-size:12px;
  color:var(--tx2);
  text-align:left;
}
.k-note-date{
  font-size:10px;
  color:var(--tx3);
  margin-top: 3px;
}

/* ── Pipeline (Kanban-Empty + Listen-Cells) ──────────────────────────── */
.pl-kanban-empty{
  color:var(--tx3);
  font-size:11px;
  font-style:italic;
  padding: 6px var(--space-2);
}
.pl-row{cursor:pointer}
.pl-betrag-cell{color:var(--ac)}
.pl-status-btn{text-align:left}

/* News-Modul — extrahierte Inline-Styles aus js/features/news.js
   Phase D Inline-Style-Cleanup #2, 2026-05-07.

   Vorher hatte news.js ~106 Inline-Styles, viele mit dynamischen Farben für
   on/off-States (Topic-Toggle, Interval-Auswahl, Banner-Optionen). Jetzt als
   Klassen mit .is-on Modifier — gleicher visueller Output, sauberere Code-
   Trennung, theming-konsistent.
*/

/* ════════════════════════════════════════════════════════════════════════
   News-Settings: Toggle-Buttons (Interval, Retention) — generischer Pattern
   ════════════════════════════════════════════════════════════════════════ */

.news-option-btn{
  cursor:pointer;
  text-align:left;
  padding: var(--space-3) 14px;
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 8px;
  color:var(--tx);
  font-family:inherit;
  transition:all .12s;
}
.news-option-btn.is-on{
  background:rgba(213,217,96,.1);
  border-color:var(--ac);
}
.news-option-btn-label{
  font-size:13px;
  font-weight:600;
  color:var(--tx);
  margin-bottom: 3px;
}
.news-option-btn.is-on .news-option-btn-label{color:var(--ac)}
.news-option-btn-desc{
  font-size:11px;
  color:var(--tx3);
}

/* ── Topic-Toggle-Pills (rounded, inline-flex) ──────────────────────── */

.news-topic-pill{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap: var(--space-2);
  padding: 7px 13px;
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 18px;
  font-size:12.5px;
  color:var(--tx3);
  font-family:inherit;
  transition:all .12s;
}
.news-topic-pill.is-on{
  background:rgba(213,217,96,.08);
  border-color:rgba(213,217,96,.3);
  color:var(--tx);
}
.news-topic-dot{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius: 50%;
  opacity:.4;
}
.news-topic-pill.is-on .news-topic-dot{opacity:1}
.news-topic-mark{
  font-size:10px;
  color:var(--tx3);
  margin-left: 2px;
}

/* ── Banner-Option Checkbox-Cards ───────────────────────────────────── */

.news-banner-opt{
  display:flex;
  align-items:flex-start;
  gap: var(--space-3);
  padding: var(--space-3) 14px;
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 8px;
  cursor:pointer;
}
.news-banner-opt.is-on{border-color:rgba(213,217,96,.3)}
.news-banner-opt-cb{
  margin-top: 2px;
  cursor:pointer;
}
.news-banner-opt-body{flex:1}
.news-banner-opt-label{
  font-size:13px;
  font-weight:500;
  color:var(--tx);
  margin-bottom: 2px;
}
.news-banner-opt-desc{
  font-size:11.5px;
  color:var(--tx3);
}

/* ── Keyword-Pills + URL-Rows ───────────────────────────────────────── */

.news-kw-pill{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 5px 10px 5px var(--space-3);
  background:rgba(213,217,96,.08);
  border:1px solid rgba(213,217,96,.25);
  border-radius: 14px;
  font-size:12px;
  color:var(--tx);
}
.news-kw-pill-x{
  cursor:pointer;
  background:transparent;
  border:0;
  color:var(--tx3);
  font-size:14px;
  line-height:1;
  padding: 0 2px;
}
.news-kw-pill-x:hover{color:var(--ac4)}
.news-kw-empty,
.news-url-empty,
.news-suggest-empty{
  font-size:12px;
  color:var(--tx3);
  font-style:italic;
  padding: 6px 0;
}

.news-url-row{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: var(--space-2) var(--space-3);
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 7px;
}
.news-url-icon{
  flex-shrink:0;
  color:var(--tx3);
}
.news-url-row-text{
  flex:1;
  font-size:12.5px;
  color:var(--tx2);
  text-decoration:none;
  font-family:'DM Mono', monospace;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.news-url-row-x{
  cursor:pointer;
  background:transparent;
  border:0;
  color:var(--tx3);
  font-size:16px;
  padding: 2px 6px;
}
.news-url-row-x:hover{color:var(--ac4)}

/* ── Suggest-List-Items (Source-Suggestions im Settings-Wizard) ─────── */

.news-suggest-row{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: var(--space-2) var(--space-3);
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 7px;
}
.news-suggest-status{
  font-size:11.5px;
  color:var(--tx3);
  margin-left: auto;
}
.news-suggest-status.ok{color:var(--ac)}
.news-suggest-status.err{color:var(--ac4)}

/* ── Status-Box (oben auf der Settings-Page) ────────────────────────── */

.news-empty-block{
  font-size:14px;
  margin-bottom: 6px;
  color:var(--tx2);
}

/* ── News-List + News-Card + News-Detail ────────────────────────────── */

.news-card-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap: var(--space-2);
  align-items:center;
  font-size:11px;
  color:var(--tx3);
}

/* "leeres" Inbox-Hint im Detail-Detail-Block */
.news-empty-inbox{
  font-size:12px;
  color:var(--tx3);
  font-style:italic;
  padding: 14px 0;
}

/* ════════════════════════════════════════════════════════════════════════
   News-Listen-Items + Cards (_listItemHtml, _cardHtml)
   ════════════════════════════════════════════════════════════════════════ */

.news-li{
  cursor:pointer;
  display:flex;
  align-items:center;
  gap: 14px;
  padding: var(--space-3) var(--space-4);
  border-bottom:1px solid var(--bd);
  transition:background .12s;
}
.news-li.is-read{opacity:.6}
.news-li:hover{background:var(--sur2)}
.news-li-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius: 50%;
  flex-shrink:0;
}
.news-li.is-unread .news-li-dot{
  box-shadow:0 0 6px currentColor;
}
.news-li-topic{
  font-size:10.5px;
  color:var(--tx3);
  text-transform:uppercase;
  letter-spacing:.05em;
  width:90px;
  flex-shrink:0;
}
.news-li-title{
  flex:1;
  font-size:13px;
  color:var(--tx);
  font-weight:500;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.news-li-source,
.news-li-date{
  font-size:10.5px;
  color:var(--tx3);
  flex-shrink:0;
}
.news-li-date{font-family:'DM Mono', monospace}

/* News-Card (Grid-View) */
.news-card{
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap: 7px;
  position:relative;
}
.news-card.is-read{opacity:.65}
.news-card-bookmark{
  position:absolute;
  top:6px;
  right:6px;
  background:none;
  border:0;
  cursor:pointer;
  padding: 3px;
  line-height:0;
  z-index:2;
}
.news-card-meta{
  display:flex;
  align-items:center;
  gap: 7px;
  font-size:9.5px;
  color:var(--tx3);
  padding-right: 22px;
}
.news-card-topic{
  display:inline-flex;
  align-items:center;
  gap: var(--space-1);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.news-card-topic-dot{
  display:inline-block;
  width:4px;
  height:4px;
  border-radius: 50%;
}
.news-card-meta-sep{opacity:.5}
.news-card-unread{
  margin-left: auto;
  display:inline-block;
  width:6px;
  height:6px;
  border-radius: 50%;
  background:var(--ac);
  box-shadow:0 0 5px rgba(213,217,96,.5);
}
.news-card-title{
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  color:var(--tx);
}
.news-card-summary{
  font-size:11px;
  color:var(--tx2);
  line-height:1.45;
}
.news-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top: auto;
  padding-top: 6px;
  border-top:1px solid var(--bd);
  font-size:9.5px;
  color:var(--tx3);
}
.news-card-cta{color:var(--ac)}

/* ════════════════════════════════════════════════════════════════════════
   News-Detail-Panel (_detailHtml)
   ════════════════════════════════════════════════════════════════════════ */

.news-d-head{margin-bottom: 18px}
.news-d-topic{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  font-size:10.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom: 10px;
}
.news-d-topic-dot{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius: 50%;
}
.news-d-title{
  font-size:22px;
  font-weight:600;
  line-height:1.25;
  margin: 0 0 var(--space-3);
  color:var(--tx);
}
.news-d-meta{
  font-size:11.5px;
  color:var(--tx3);
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap:wrap;
}
.news-d-source{color:var(--tx2);font-weight:500}

.news-d-empty{
  background:var(--sur2);
  border:1px dashed var(--bd);
  border-radius: 8px;
  padding: 14px var(--space-4);
  margin-bottom: 18px;
  font-size:12.5px;
  color:var(--tx2);
  line-height:1.5;
}
.news-d-empty-label{
  font-size:10.5px;
  color:var(--tx3);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom: 6px;
}

.news-d-actions{
  display:flex;
  flex-wrap:wrap;
  gap: var(--space-2);
  padding-top: var(--space-4);
  border-top:1px solid var(--bd);
}

.news-d-sales{
  background:rgba(213,217,96,.07);
  border:1px solid rgba(213,217,96,.25);
  border-left:3px solid var(--ac);
  border-radius: 8px;
  padding: var(--space-3) 14px;
  margin-bottom: 18px;
}
.news-d-sales-label{
  font-size:10.5px;
  color:var(--ac);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom: 5px;
}
.news-d-sales-body{
  font-size:13px;
  color:var(--tx);
  line-height:1.5;
}

.news-d-takeaways{margin-bottom: 20px}
.news-d-takeaways-label{
  font-size:11px;
  color:var(--tx3);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom: var(--space-2);
}
.news-d-takeaways-list{
  list-style:none;
  padding: 0;
  margin: 0;
  display:flex;
  flex-direction:column;
  gap: 7px;
}
.news-d-takeaways-item{
  display:flex;
  gap: 9px;
  align-items:flex-start;
  font-size:12.5px;
  color:var(--tx);
  line-height:1.5;
}
.news-d-takeaways-bullet{
  flex:0 0 auto;
  width:5px;
  height:5px;
  border-radius: 50%;
  background:var(--ac);
  margin-top: 7px;
}

.news-d-body{
  margin-bottom: var(--space-5);
  font-size:13px;
  color:var(--tx2);
  line-height:1.65;
}

.news-d-no-url{
  font-size:11.5px;
  color:var(--tx3);
  font-style:italic;
  padding: 7px 0;
}

.news-d-link{text-decoration:none}

/* Detail-Page: Bookmarked-Indicator-Variante des Save-Buttons */
.news-d-bm-btn.is-bookmarked{
  background:rgba(213,217,96,.15);
  border-color:rgba(213,217,96,.4);
  color:var(--ac);
  font-weight:600;
}

/* ════════════════════════════════════════════════════════════════════════
   News-Settings: Status-Box (oben auf Settings-Page)
   ════════════════════════════════════════════════════════════════════════ */

.news-status-box{
  padding: 14px 18px;
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: var(--radius-lg);
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap: 18px;
}
.news-status-tile-label{
  font-size:10px;
  color:var(--tx3);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom: var(--space-1);
}
.news-status-tile-value{
  font-size:13px;
  color:var(--tx);
  font-weight:500;
}
.news-status-tile-value.is-paused{color:var(--ac4)}
.news-status-tile-value.is-active{color:var(--ac)}
.news-status-progress{
  margin-top: var(--space-2);
  font-size:11.5px;
  color:var(--ac3);
  font-style:italic;
  min-height:16px;
}

/* ════════════════════════════════════════════════════════════════════════
   News-Settings: Suggest-List (Source-Empfehlungen)
   ════════════════════════════════════════════════════════════════════════ */

.news-suggest-item{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 9px var(--space-3);
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: 7px;
}
.news-suggest-body{
  flex:1;
  min-width:0;
}
.news-suggest-title{
  font-size:12.5px;
  color:var(--tx);
  font-weight:500;
  margin-bottom: 2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.news-suggest-url{
  font-size:10.5px;
  color:var(--tx3);
  font-family:'DM Mono', monospace;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.news-suggest-accepted{
  font-size:11px;
  color:var(--ac);
  font-weight:500;
  padding: 0 6px;
}
.news-suggest-dismiss{
  background:none;
  border:0;
  color:var(--tx3);
  cursor:pointer;
  font-size:14px;
  padding: 2px 6px;
}
.news-suggest-dismiss:hover{color:var(--ac4)}

/* ════════════════════════════════════════════════════════════════════════
   News-Page: Topic-Dropdown (Filter-Header)
   ════════════════════════════════════════════════════════════════════════ */

.news-topic-current-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius: 50%;
  margin-right: 7px;
  vertical-align:middle;
}
.news-topic-current-count{
  opacity:.55;
  margin-left: var(--space-1);
}
.news-topic-current-arrow{
  margin-left: 6px;
  opacity:.6;
}

.news-topic-dd-btn{
  display:flex;
  align-items:center;
  gap: 9px;
  width:100%;
  padding: var(--space-2) var(--space-3);
  cursor:pointer;
  background:transparent;
  border:0;
  text-align:left;
}
.news-topic-dd-btn:hover{background:var(--sur2)}
.news-topic-dd-btn.is-on{background:rgba(213,217,96,.06)}
.news-topic-dd-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius: 50%;
  flex-shrink:0;
}
.news-topic-dd-label{flex:1}
.news-topic-dd-count{
  font-family:'DM Mono', monospace;
  font-size:10.5px;
  color:var(--tx3);
}
.news-topic-dd-check{color:var(--ac)}

/* ════════════════════════════════════════════════════════════════════════
   News-Page: Pagination-Bar
   ════════════════════════════════════════════════════════════════════════ */

.news-pagi-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: var(--space-3);
  margin-top: 18px;
  padding-top: 14px;
  border-top:1px solid var(--bd);
  font-size:11.5px;
  color:var(--tx3);
}
.news-pagi-right{
  display:flex;
  align-items:center;
  gap: 14px;
  flex-wrap:wrap;
}
.news-pagi-toggle{display:inline-flex}
.news-pagi-size-wrap{
  display:inline-flex;
  align-items:center;
  gap: 6px;
}
.news-pagi-disabled{
  opacity:.4;
  cursor:not-allowed;
}
.news-pagi-ellipsis{
  padding: 0 6px;
  color:var(--tx3);
  font-size:11px;
}

/* ════════════════════════════════════════════════════════════════════════
   Topbar/Dashboard/Sidebar Banner (News-Notif)
   ════════════════════════════════════════════════════════════════════════ */

.news-topbar-pill{
  display:inline-flex;
  align-items:center;
  gap: var(--space-2);
  padding: 5px var(--space-3) 5px 10px;
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 14px;
  cursor:pointer;
  font-size:11.5px;
  color:var(--tx2);
  max-width:340px;
  transition:all .15s;
}
.news-topbar-pill:hover{border-color:var(--bd2)}
.news-topbar-pill-dot{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius: 50%;
  flex-shrink:0;
}
.news-topbar-pill-tag{
  font-weight:600;
  flex-shrink:0;
}
.news-topbar-pill-title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.news-dash-row{
  cursor:pointer;
  padding: var(--space-3) 0;
  border-bottom:1px solid var(--bd);
  display:flex;
  gap: var(--space-3);
  align-items:flex-start;
}
.news-dash-row-dot{
  display:inline-block;
  width:6px;
  height:6px;
  border-radius: 50%;
  margin-top: var(--space-2);
  flex-shrink:0;
}
.news-dash-row-body{
  flex:1;
  min-width:0;
}
.news-dash-row-meta{
  font-size:9.5px;
  color:var(--tx3);
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom: 3px;
}
.news-dash-row-title{
  font-size:13px;
  color:var(--tx);
  font-weight:500;
  line-height:1.35;
}
.news-dash-empty{
  font-size:12px;
  color:var(--tx3);
  font-style:italic;
  padding: 14px 0;
}

.news-dash-widget{grid-column:1 / -1}
.news-dash-widget-link{cursor:pointer}

/* ════════════════════════════════════════════════════════════════════════
   News-Page: Empty-Block (zwei Zeilen Hint)
   ════════════════════════════════════════════════════════════════════════ */

.news-empty-block-msg{
  font-size:14px;
  margin-bottom: 6px;
  color:var(--tx2);
}
.news-empty-block-hint{font-size:12px}

/* Partner-Detail-Overlay (obShowDetail in js/features/partner.js)
   Centered Modal, max-width 860px, 2-Spalten-Grid mit Cards.
   User-Direktive 2026-05-07: bleibt als Modal (nicht Slide-In, layout
   passt nicht in 640px Slide-In). Phase D Inline-Style-Cleanup #3.
*/

/* ── Outer Overlay + Modal-Card ────────────────────────────────────────── */
.pd-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.75);
  z-index:500;
  overflow-y:auto;
  padding: var(--space-6) 20px;
}
.pd-modal{
  max-width:860px;
  margin: 0 auto;
  background:var(--bg);
  border:1px solid var(--bd);
  border-radius: 16px;
  overflow:hidden;
}

/* ── Header (Avatar + Name + Status-Pill + Close) ──────────────────────── */
.pd-head{
  background:var(--sur);
  border-bottom:1px solid var(--bd);
  padding: var(--space-5) 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.pd-head-l{
  display:flex;
  align-items:center;
  gap: var(--space-4);
}
.pd-avatar{
  width:48px;
  height:48px;
  border-radius: 12px;
  border:2px solid;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  font-weight:700;
}
.pd-name{
  font-size:18px;
  font-weight:700;
  color:var(--tx);
}
.pd-meta{
  font-size:12px;
  color:var(--tx3);
  margin-top: 2px;
}
.pd-head-r{
  display:flex;
  align-items:center;
  gap: 10px;
}
.pd-status-pill{
  font-size:11px;
  font-weight:700;
  padding: var(--space-1) var(--space-3);
  border-radius: 20px;
  border:1px solid;
}
.pd-close-btn{
  width:32px;
  height:32px;
  border-radius: 8px;
  background:var(--sur2);
  border:1px solid var(--bd);
  color:var(--tx3);
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

/* ── 2-Spalten-Grid mit Cards ──────────────────────────────────────────── */
.pd-grid{
  padding: 28px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap: 20px;
}
.pd-card{
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: 12px;
  padding: 20px;
}
.pd-card-title{
  font-size:11px;
  font-weight:600;
  color:var(--tx3);
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom: var(--space-4);
  display:flex;
  align-items:center;
  gap: 6px;
}

/* ── Bankverbindung-Card: Timeline-Sub-Block ───────────────────────────── */
.pd-card-sub{
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top:1px solid var(--bd);
}
.pd-card-sub-title{
  font-size:11px;
  font-weight:600;
  color:var(--tx3);
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom: var(--space-3);
  display:flex;
  align-items:center;
  gap: 6px;
}

/* ── DISG-Profil-Card ──────────────────────────────────────────────────── */
.pd-disg-head{
  display:flex;
  align-items:center;
  gap: var(--space-3);
  margin-bottom: 14px;
}
.pd-disg-emoji{
  width:44px;
  height:44px;
  border-radius: var(--radius-lg);
  border:2px solid;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}
.pd-disg-name{
  font-size:15px;
  font-weight:700;
  color:var(--tx);
}
.pd-disg-tag{font-size:12px}
.pd-disg-row{margin-bottom: var(--space-2)}
.pd-disg-row-head{
  display:flex;
  justify-content:space-between;
  margin-bottom: 3px;
}
.pd-disg-label{
  font-size:11px;
  font-weight:600;
}
.pd-disg-percent{
  font-size:11px;
  color:var(--tx3);
}
.pd-disg-bar{
  height:6px;
  background:var(--sur3);
  border-radius: 3px;
}
.pd-disg-bar-fill{
  height:100%;
  border-radius: 3px;
}
.pd-disg-empty,
.pd-mc-empty{
  color:var(--tx3);
  font-size:12px;
  text-align:center;
}
.pd-disg-empty{padding: 20px 0}
.pd-mc-empty{padding: var(--space-2) 0 14px}

/* ── Fachwissen-Card (MC-Score + Aktions-Buttons + Module) ─────────────── */
.pd-mc-block{
  text-align:center;
  padding: var(--space-2) 0 14px;
}
.pd-mc-score{
  font-size:36px;
  font-weight:700;
  font-family:'DM Mono', monospace;
}
.pd-mc-label{
  font-size:11px;
  color:var(--tx3);
}
.pd-mc-bar{
  height:8px;
  background:var(--sur3);
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-4);
}
.pd-mc-bar-fill{
  height:100%;
  border-radius: var(--radius-sm);
}
.pd-actions{
  display:flex;
  flex-direction:column;
  gap: var(--space-2);
}
/* pd-action-btn ersetzt das pdBtn(color)-Inline-Helper-Pattern.
   Color via inline style ist statt class weil dynamisch (statusColor variants). */
.pd-action-btn{
  width:100%;
  padding: 9px;
  border:1px solid;
  border-radius: 7px;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
  font-family:'DM Sans', sans-serif;
  text-align:center;
}
.pd-modules{
  margin-top: 14px;
  padding-top: var(--space-3);
  border-top:1px solid var(--bd);
}
.pd-modules-label{
  font-size:10px;
  color:var(--tx3);
  margin-bottom: 6px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.pd-modules-list{
  display:flex;
  flex-wrap:wrap;
  gap: var(--space-1);
}
.pd-module-chip{
  font-size:11px;
  padding: 2px var(--space-2);
  background:rgba(213,217,96,.08);
  color:var(--ac);
  border:1px solid rgba(213,217,96,.2);
  border-radius: var(--radius-lg);
  display:inline-flex;
  align-items:center;
  gap: 5px;
}

/* ── Dokumente-Section (Full-Width unter dem Grid) ─────────────────────── */
.pd-section{padding: 0 28px 20px}
.pd-section.is-last{padding-bottom: 28px}
.pd-doc-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap: 10px;
}
.pd-doc{
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 9px;
  padding: 14px;
}
.pd-doc-icon{
  margin-bottom: var(--space-2);
  color:var(--tx3);
  display:flex;
  justify-content:center;
}
.pd-doc-name{
  font-size:12px;
  font-weight:600;
  color:var(--tx);
  margin-bottom: 3px;
}
.pd-doc-meta{
  font-size:10px;
  color:var(--tx3);
  margin-bottom: var(--space-2);
}
.pd-doc-status{
  font-size:10px;
  font-weight:600;
  padding: 2px var(--space-2);
  border-radius: var(--radius-lg);
  border:1px solid;
}
.pd-doc-empty{
  color:var(--tx3);
  font-size:12px;
  text-align:center;
  padding: var(--space-4) 0;
}

/* ── Notizen-Section ────────────────────────────────────────────────────── */
.pd-notiz{
  width:100%;
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 7px;
  padding: 10px var(--space-3);
  color:var(--tx);
  font-size:13px;
  font-family:'DM Sans', sans-serif;
  resize:vertical;
  min-height:80px;
  outline:none;
  box-sizing:border-box;
}
.pd-notiz-actions{
  display:flex;
  justify-content:flex-end;
  margin-top: var(--space-2);
}

/* ── pdRow Helper ──────────────────────────────────────────────────────── */
.pd-row{
  display:flex;
  justify-content:space-between;
  padding: 6px 0;
  border-bottom:1px solid var(--bd);
}
.pd-row-label{
  font-size:11px;
  color:var(--tx3);
  flex-shrink:0;
  margin-right: var(--space-3);
}
.pd-row-value{
  font-size:12px;
  color:var(--tx);
  text-align:right;
}

/* ── pdTimeline Helper ─────────────────────────────────────────────────── */
.pd-tl{
  position:relative;
  padding: var(--space-2) 0;
}
.pd-tl-line{
  position:absolute;
  left:15px;
  top:20px;
  bottom:20px;
  width:2px;
  background:var(--sur3);
  z-index:0;
}
.pd-tl-step{
  display:flex;
  align-items:flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  position:relative;
  z-index:1;
}
.pd-tl-step.is-last{margin-bottom: 0}
.pd-tl-bubble{
  width:30px;
  height:30px;
  border-radius: 50%;
  background:var(--sur2);
  border:2px solid var(--bd);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  flex-shrink:0;
}
.pd-tl-bubble.is-done{
  background:var(--ac);
  border-color:var(--ac);
  box-shadow:0 0 0 3px rgba(213,217,96,.15);
}
.pd-tl-bubble-empty{
  width:8px;
  height:8px;
  border-radius: 50%;
  background:var(--sur3);
}
.pd-tl-text{padding-top: var(--space-1)}
.pd-tl-label{
  font-size:12px;
  font-weight:600;
  color:var(--tx3);
}
.pd-tl-step.is-done .pd-tl-label{color:var(--tx)}
.pd-tl-sub{
  font-size:10px;
  color:var(--tx3);
  margin-top: 1px;
}
.pd-tl-date{
  font-size:10px;
  color:var(--tx3);
  margin-top: 2px;
  font-weight:500;
}
.pd-tl-step.is-done .pd-tl-date{color:var(--ac)}

/* CoPilot-Module Inline-Styles → CSS-Klassen
   Phase D Inline-Style-Cleanup #4 (coaching.js + auswertung.js).
   Klassen für sich wiederholende Patterns; one-off-Styles bleiben inline.
*/

/* ── CoPilot-Profile (Sidebar) ──────────────────────────────────────── */
.cp-prof-row{
  display:flex;
  justify-content:space-between;
  margin-bottom: var(--space-1);
}
.cp-prof-label{
  color:var(--tx3);
  font-size:10.5px;
}
.cp-prof-value{
  color:var(--tx);
  font-size:10.5px;
  font-weight:500;
}
.cp-prof-value.is-accent{color:var(--ac2)}

.cp-prof-bar-block{margin-top: 6px}
.cp-prof-bar-head{
  display:flex;
  justify-content:space-between;
  margin-bottom: 3px;
}
.cp-prof-bar-label{
  color:var(--tx3);
  font-size:10px;
}
.cp-prof-bar-percent{
  font-size:10px;
  font-weight:600;
}
.cp-prof-bar-track{
  height:4px;
  background:var(--sur3);
  border-radius: 3px;
}
.cp-prof-bar-fill{
  height:4px;
  border-radius: 3px;
  transition:width .4s;
}

.cp-prof-pillbox{margin-top: 6px}
.cp-prof-pillbox.is-narrow{margin-top: var(--space-1)}
.cp-prof-pillbox-label{
  font-size:10px;
  color:var(--tx3);
  margin-bottom: var(--space-1);
}
.cp-prof-pill{
  font-size:10px;
  padding: 2px 7px;
  border-radius: var(--radius-lg);
  margin-right: 3px;
  margin-bottom: 3px;
  display:inline-block;
}
.cp-prof-pill.is-interest{
  background:rgba(34,211,238,.1);
  color:var(--ac2);
}
.cp-prof-pill.is-objection{
  background:rgba(248,113,113,.1);
  color:#f87171;
}

.cp-prof-stimmung-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius: 50%;
  vertical-align:middle;
}

/* ── CoPilot-Tips (Tip-Sidebar) ──────────────────────────────────────── */
.cp-tip-source{
  font-size:9px;
  border:1px solid;
  padding: 1px 5px;
  border-radius: var(--radius-lg);
  margin-left: 5px;
}
.cp-tip-source.is-kb{
  background:rgba(74,222,128,.12);
  color:var(--ac);
  border-color:rgba(74,222,128,.2);
}
.cp-tip-source.is-ai{
  background:rgba(167,139,250,.1);
  color:#a78bfa;
  border-color:rgba(167,139,250,.2);
}
.cp-tip-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  margin-bottom: 3px;
}
.cp-tip-time{
  font-size:9px;
  color:var(--tx3);
}
.cp-tip-main{
  color:var(--tx2);
  font-size:11.5px;
  line-height:1.5;
}
.cp-tip-answer{
  color:var(--tx);
  font-size:11px;
  margin-top: 5px;
  padding-top: 5px;
  border-top:1px solid rgba(255,255,255,.06);
  font-style:italic;
  display:flex;
  align-items:flex-start;
  gap: 6px;
}

/* ── Transcript-Zeile ────────────────────────────────────────────────── */
.cp-tr-time{
  font-size:9.5px;
  color:var(--tx3);
  float:right;
}

/* ── Einwand-Library Card ────────────────────────────────────────────── */
.cp-einwand-card{
  background:var(--sur3);
  border-radius: var(--radius-md);
  padding: var(--space-2) 10px;
  margin-bottom: 5px;
  cursor:pointer;
  border:1px solid transparent;
  transition:all .1s;
}
.cp-einwand-card:hover{border-color:var(--bd2)}
.cp-einwand-q{
  font-size:11px;
  font-weight:500;
  color:var(--tx);
  line-height:1.35;
  margin-bottom: 3px;
}
.cp-einwand-cat{
  font-size:10px;
  color:var(--tx3);
}

/* ── Phase-Breadcrumb (Skript-Steps) ─────────────────────────────────── */
.cp-bc-step{
  display:flex;
  align-items:center;
  gap: 0;
}
.cp-bc-sep{
  color:var(--tx3);
  font-size:10px;
  margin: 0 2px;
}
.cp-bc-pill{
  font-size:10.5px;
  padding: 2px 9px;
  border-radius: 20px;
  cursor:pointer;
  white-space:nowrap;
}
.cp-bc-icon{
  font-size:10px;
  display:inline-flex;
  align-items:center;
}
.cp-bc-progress{
  margin-left: auto;
  font-size:10px;
  color:var(--tx3);
}

/* ── Empty-State Hint ───────────────────────────────────────────────── */
.cp-empty-hint{
  color:var(--tx3);
  font-size:11px;
  font-style:italic;
}

/* ContactHub — Detail-Page-Styles für den neuen Kontakt-Hub.
 * Mockup-Vorlage: _context/mockups/contact-hub-final-v2.html
 * Nutzt n-* Klassen aus facelift.css für Buttons / Pills / Avatar / Timeline / Badges.
 * Eigene Klassen mit ch- Präfix.
 */

/* Page-Override: ContactHub übernimmt eigenes Layout (nur Mitte scrollt, Sidebars stillstehen).
 * Sticky funktionierte in der Plattform nicht zuverlässig — stattdessen flex-column mit
 * eigenem Scroll-Container pro Spalte. */
#p-contacthub.page.active{padding: 0;height:calc(100vh - var(--hh));overflow:hidden;display:flex;flex-direction:column}

/* Page-interne Topbar (Breadcrumb + Industry + Optionen) — fest oben */
.ch-bar{background:var(--sur);border-bottom:1px solid var(--bd);padding: 10px var(--space-5);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap: 10px;flex-shrink:0}
.ch-industry{display:inline-flex;align-items:center;gap: 5px;padding: 3px 10px;background:var(--sur2);border:1px solid var(--bd);border-radius: 12px;font-size:10px;color:var(--tx3);margin-left: 6px;text-transform:uppercase;letter-spacing:.05em}
.ch-industry .ch-dot{width:5px;height:5px;border-radius: 50%;background:var(--ac3)}
.ch-bar-opts{display:flex;gap: var(--space-1)}

/* Hub-Header — Info links, Action-Buttons rechts, fest unter Bar */
.ch-header{background:var(--sur);border-bottom:1px solid var(--bd);padding: var(--space-4) var(--space-5);display:flex;align-items:center;gap: 18px;flex-wrap:wrap;flex-shrink:0}
.ch-info{display:flex;align-items:center;gap: 14px;flex:1;min-width:280px}
.ch-info-text{min-width:0}
.ch-name{font-size:17px;font-weight:600;color:var(--tx);line-height:1.25;margin: 0 0 2px}
.ch-sub{font-size:11.5px;color:var(--tx3)}
.ch-meta{display:flex;align-items:center;gap: 14px;margin-top: var(--space-2);flex-wrap:wrap}
/* Action-Bar oben rechts, neben Header-Titel — User-Mockup 2026-05-12 abend.
   Wraps automatisch bei schmalem Viewport in zweite Zeile. */
.ch-actions{display:flex;flex-wrap:wrap;gap: 5px;justify-content:flex-end;align-items:center;margin-left: auto;align-self:flex-start}
.ch-actions .n-btn{padding: 6px 11px;font-size:11.5px}
.ch-actions .n-btn-pri{padding: 7px 14px}
/* Header-Layout: oben align, damit Action-Bar oben rechts mit Title-Zeile fluchtet */
.ch-header{align-items:flex-start}

/* „Mehr"-Dropdown (Snooze, + Angebot, später mehr) */
.ch-more-wrap{position:relative;display:inline-block}
.ch-more-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--sur);border:1px solid var(--bd);border-radius: 8px;box-shadow:0 8px 24px rgba(0,0,0,.3);padding: var(--space-1);min-width:200px;display:none;z-index:1000}
.ch-more-wrap.open .ch-more-menu{display:block}
.ch-more-item{display:block;width:100%;text-align:left;padding: 7px 11px;background:transparent;border:0;color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;border-radius: 5px;transition:background .12s}
.ch-more-item:hover{background:var(--sur2)}

/* Coaching-Banner kompakt + aufklappbar — alles in EINER Zeile mit Ellipsis,
   beim Aufklappen mehrzeilig. */
.ch-coach-compact{padding: var(--space-2) var(--space-3);font-size:11.5px;align-items:center;gap: var(--space-2)}
.ch-coach-compact .n-alert-icon{width:18px;height:18px;font-size:11px;flex-shrink:0}
.ch-coach-compact .n-alert-body{flex:1;min-width:0;display:flex;align-items:center;gap: var(--space-2);overflow:hidden;white-space:nowrap}
.ch-coach-compact .n-alert-body strong{font-size:11.5px;flex-shrink:0;display:inline}
.ch-coach-compact .n-alert-body p{margin: 0;font-size:11.5px;line-height:1.4;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;display:inline}
/* Aufgeklappt: Wrap erlaubt */
.ch-coach-compact.is-open .n-alert-body{white-space:normal;display:block}
.ch-coach-compact.is-open .n-alert-body p{white-space:normal;display:block;text-overflow:clip;margin-top: var(--space-1)}
.ch-coach-toggle{background:transparent;border:0;color:var(--tx3);font-size:14px;cursor:pointer;padding: 2px 6px;border-radius: var(--radius-sm);transition:transform .15s,color .12s,background .12s}
.ch-coach-toggle:hover{color:var(--tx);background:var(--sur2)}
.ch-coach-compact.is-open .ch-coach-toggle{transform:rotate(180deg)}
/* Coaching breitflächig über alle 3 Spalten — wird oben in ch-layout
   ausserhalb von ch-main platziert und spannt grid-column 1/-1 */
.ch-coach-fullwidth{grid-column:1 / -1;margin: 0 0 14px 0}

/* Stage-Dropdown — Plattform-Stil (n-input/n-filter-sort), kleiner Status-Dot vorne */
.ch-stage{display:inline-flex;align-items:center;gap: var(--space-2)}
.ch-stage-l{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;font-weight:500}
.ch-stage-dot{width:8px;height:8px;border-radius: 50%;background:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.18);flex-shrink:0}
.ch-stage-dot[data-phase="bestand"]{background:var(--ac2);box-shadow:0 0 0 3px rgba(86,107,134,.25)}
.ch-stage-dot[data-phase="snooze"]{background:var(--tx3);box-shadow:0 0 0 3px rgba(122,130,154,.18)}
.ch-stage-dot[data-phase="inactive"]{background:var(--tx3);box-shadow:none;opacity:.5}
.ch-stage-sel{background:var(--sur2);border:1px solid var(--bd);color:var(--tx);font-size:12px;font-weight:500;padding: 6px 28px 6px var(--space-3);border-radius: 8px;cursor:pointer;font-family:inherit;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tx3) 50%),linear-gradient(135deg,var(--tx3) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;transition:all .15s}
.ch-stage-sel:hover{border-color:var(--ac);color:var(--ac);background-image:linear-gradient(45deg,transparent 50%,var(--ac) 50%),linear-gradient(135deg,var(--ac) 50%,transparent 50%)}
.ch-stage-sel:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15);color:var(--ac)}
.ch-stage-prog{font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace}

/* Score inline + Tooltip */
.ch-score{display:inline-flex;align-items:center;gap: 6px}
.ch-score-l{font-size:9.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.ch-score-v{font-family:'DM Mono',monospace;font-size:13px;font-weight:700;color:var(--tx)}
.ch-score-v small{font-size:10px;color:var(--tx3)}
.ch-score-i{cursor:help;font-size:9px;color:var(--tx3);width:13px;height:13px;border:1px solid var(--bd2);border-radius: 50%;display:inline-flex;align-items:center;justify-content:center;position:relative}
.ch-score-i:hover .ch-score-tip{display:block}
.ch-score-tip{display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--sur3);border:1px solid var(--bd2);border-radius: 8px;padding: 9px 11px;width:200px;font-size:11px;color:var(--tx2);line-height:1.6;z-index:30;text-align:left;font-weight:400}
.ch-score-tip-row{display:flex;justify-content:space-between;padding: 2px 0}
.ch-score-tip-row .l{color:var(--tx3)}
.ch-score-tip-row .v{font-family:'DM Mono',monospace;color:var(--ac);font-weight:700}
.ch-score-tip-foot{border-top:1px solid var(--bd);margin-top: var(--space-1);padding-top: var(--space-1);color:var(--tx3);font-size:10px}

/* Name-Row: h1 + Eigenakquise-Pill in einer Zeile */
.ch-name-row{display:flex;align-items:center;gap: 10px;flex-wrap:wrap;margin-bottom: 2px}

/* Eigenakquise-Pill */
.ch-eigen{display:inline-flex;align-items:center;gap: 5px;padding: 3px 9px;background:rgba(245,158,11,.08);color:var(--ac3);border:1px solid rgba(245,158,11,.3);border-radius: 11px;font-size:10px;font-weight:500;white-space:nowrap}

/* Action-Bar: alle Buttons einheitlich (.n-btn-Style aus Plattform).
   Spezielle is-call/is-wa/is-snooze/n-btn-pri-Modifier wurden entfernt
   damit die Bar farblich konsistent ist. */

/* Anruf-Popover — Wrapper als position-Anker (Popover war früher im button verschachtelt, Browser entkapselte → Layout-Bug) */
.ch-call-wrap{position:relative;display:inline-flex}
.ch-callpop{position:absolute;top:calc(100% + 8px);right:0;width:380px;background:var(--sur);border:1px solid var(--bd);border-radius: 12px;padding: var(--space-4);box-shadow:0 12px 32px rgba(0,0,0,.5);z-index:60;display:none;text-align:left}
.ch-callpop.is-open{display:block}
.ch-callpop-h{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom: 10px;display:flex;justify-content:space-between;align-items:center}
.ch-callpop-h .ch-x{cursor:pointer;color:var(--tx3);font-size:18px}
.ch-callrow{display:flex;gap: 6px;margin-bottom: 10px}
.ch-calltype{flex:1;padding: 7px;background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-md);font-size:11px;color:var(--tx2);text-align:center;cursor:pointer}
.ch-calltype.is-on{background:rgba(34,211,238,.1);border-color:var(--ac2);color:var(--ac2);font-weight:600}
.ch-callgrid{display:grid;grid-template-columns:1fr 110px;gap: var(--space-2);margin-bottom: 10px}
.ch-calltimer{display:flex;align-items:center;justify-content:center;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: var(--space-2);font-family:'DM Mono',monospace;font-size:13px;color:var(--ac3);font-weight:700}
.ch-callta{width:100%;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: 9px 11px;color:var(--tx);font-size:12px;font-family:inherit;outline:none;resize:none;min-height:70px;margin-bottom: 10px}
.ch-callacts{display:flex;gap: 6px;justify-content:flex-end}

/* Layout — flex:1 füllt restliche Höhe, Spalten haben eigene Scroll-Container */
.ch-layout{display:grid;grid-template-columns:280px 1fr 300px;gap: 18px;padding: 18px var(--space-5);flex:1;min-height:0;overflow:hidden;align-items:stretch}
@media (max-width:1100px){.ch-layout{grid-template-columns:240px 1fr}.ch-right{display:none}}
.ch-left,.ch-right{display:flex;flex-direction:column;gap: var(--space-3);overflow-y:auto;min-height:0}
.ch-main{min-width:0;overflow-y:auto;min-height:0;padding-right: var(--space-1)}

/* Sidebar Cards */
/* Sidebar-Card-Container — einheitlich für links + rechts */
.ch-sb{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 14px var(--space-4)}
.ch-sb h4{margin: 0 0 10px;font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:500;display:flex;justify-content:space-between;align-items:center}
.ch-sb h4 .ch-ed{font-size:10px;color:var(--tx3);cursor:pointer;text-transform:none;letter-spacing:0;font-weight:500}

/* Einheitlicher Add-Button für Sidebar-Cards (Eigenschaften, Notizen, Aufgaben).
   Klein, 20×20, transparent mit dezentem Border, Hover ac-glow. */
.ch-sb-add{background:transparent;border:1px solid var(--bd);color:var(--tx3);width:20px;height:20px;border-radius: 5px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding: 0;transition:color .15s,border-color .15s,background .15s;text-transform:none;letter-spacing:0;font-weight:400}
.ch-sb-add:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.08)}

/* Listen-Items in Sidebar-Cards — EINHEITLICH:
   Label = var(--tx2) 11px,  Wert = var(--tx) 11px regulär.
   Hover wie n-task-mini / n-note-mini: padding-left:4px für sanftes
   Feedback (signalisiert „klickbar").
   Properties, Verknüpfungen, Workflows, Letzte Dateien folgen alle diesem Schema. */
.ch-prop{display:grid;grid-template-columns:1fr auto;gap: var(--space-2);padding: 6px 0;border-bottom:1px solid var(--bd);font-size:11.5px;align-items:baseline;transition:padding-left .15s}
.ch-prop:last-of-type{border-bottom:0}
.ch-prop:hover{padding-left: var(--space-1)}
.ch-prop-l{color:var(--tx2);font-size:11.5px;font-weight:400}
.ch-prop-v{color:var(--tx);font-weight:500;text-align:right;font-size:11.5px}
.ch-prop-v.is-mono{font-family:'DM Mono',monospace;color:var(--tx);font-weight:400}
.ch-prop-more{display:block;width:100%;padding: 7px 0 0;text-align:center;font-size:11px;color:var(--tx3);cursor:pointer;border:0;border-top:1px solid var(--bd);margin-top: 6px;background:transparent}
.ch-prop-more:hover{color:var(--ac)}

/* Ansprechpartner — Hassan etc. — Rolle dezenter (tx3 statt ac).
   Hover analog Tasks/Notes (border + light bg-shift) für „klickbar"-Feedback. */
.ch-cmini{padding: 9px 11px;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;margin-bottom: 6px;cursor:pointer;transition:border-color .15s,background .15s}
.ch-cmini:hover{border-color:var(--bd2);background:var(--sur3)}
/* Primary-Marker: kein farbiger Hintergrund mehr (User-Wunsch 2026-05-12 nacht),
   nur leicht hervorgehobener Border. Visuelle Auszeichnung über den Rolle-Text
   und Top-Position der Primary-Person. */
/* Primary-Marker: identisch zum Default-Card-Style — keine Hervorhebung
   per Hintergrund oder Border. Reihenfolge (Primary oben) ist Marker genug. */
.ch-cmini.is-pri{border-color:var(--bd);background:var(--sur2)}
.ch-cmini-h{display:flex;justify-content:space-between;align-items:center;margin-bottom: 3px}
.ch-cmini-n{font-size:12px;font-weight:500;color:var(--tx)}
.ch-cmini-r{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}
.ch-cmini-l{font-size:11.5px;color:var(--tx2);display:flex;align-items:center;gap: 5px;margin-top: 2px;font-family:'DM Mono',monospace;font-weight:400}

/* Main — overflow + min-width sind oben in der Layout-Definition */
/* CH-Tabs als Underline-Style (User-Mockup 2026-05-12 abend) — ohne Pill-Border,
   nur Text + Counter, Active-Item mit olive Underline. Override gegen .n-pill aus
   facelift.css, scoped auf .ch-tabs damit andere Module unverändert bleiben. */
/* Tabs als Underline-Style mit dezenter Trennlinie unter den Tabs + großem
   Abstand zur ersten Card damit es nicht visuell aneinanderschneidet. */
.ch-tabs{margin-bottom: 20px;overflow-x:auto;padding: 2px 0 10px;display:flex;gap: 22px;justify-content:center;align-items:center;border-bottom:1px solid var(--bd2)}
/* Tabs full-width — als eigenes Grid-Item Row 2 über alle 3 Spalten,
   damit die Trennlinie durchgehend von ch-left bis ch-right läuft. */
.ch-tabs-fullwidth{grid-column:1 / -1;margin-bottom: 0;padding-bottom: 18px}
/* Coaching-Banner komplett klickbar, Schließen-X stoppt Propagation */
.ch-coach-compact{cursor:pointer}
.ch-coach-compact .n-alert-x{cursor:pointer}
.ch-tabs .n-pill{background:transparent;border:0;border-radius: 0;padding: var(--space-2) 2px;color:var(--tx3);font-weight:500;position:relative;transition:color .12s}
.ch-tabs .n-pill:hover{color:var(--tx);border:0}
/* font-weight bleibt 500 auch bei active — sonst springen die Tabs beim Wechsel */
.ch-tabs .n-pill.on{background:transparent;border:0;color:var(--ac);font-weight:500}
.ch-tabs .n-pill.on::after{content:'';position:absolute;left:0;right:0;bottom:-11px;height:2px;background:var(--ac);border-radius: 1px}
.ch-tabs .n-pill .n-pill-cnt{background:var(--sur3);color:var(--tx2);font-weight:500;font-family:'DM Mono',monospace;font-size:10px}
.ch-tabs .n-pill.on .n-pill-cnt{background:var(--sur3);color:var(--ac)}
.ch-panel{display:none}
.ch-panel.is-active{display:block}

/* Section */
.ch-sec{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 14px var(--space-4);margin-bottom: var(--space-3)}
.ch-sec-h{display:flex;justify-content:space-between;align-items:center;margin-bottom: 10px}
.ch-sec-h-l{display:flex;align-items:center;gap: var(--space-2)}
.ch-sec-t{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:500}

/* Status-Card — Stage (Opportunity etc.) ist der EINE Olive-Akzent,
   Nächster-Schritt-Strong dezent (tx statt ac), Footer neutral grau. */
.ch-status{background:var(--sur);border:1px solid var(--bd);border-left:3px solid var(--ac);border-radius: var(--radius-lg);padding: 14px var(--space-4);margin-bottom: var(--space-3)}
.ch-status-stage{font-size:12.5px;font-weight:500;color:var(--ac);margin-bottom: 3px}
.ch-status-since{font-size:11.5px;color:var(--tx3);margin-bottom: 9px}
.ch-status-next{font-size:12px;color:var(--tx);padding-top: 9px;border-top:1px solid var(--bd)}
.ch-status-next strong{color:var(--tx);font-weight:500}
.ch-status-foot{margin-top: 9px;padding-top: var(--space-2);border-top:1px dashed var(--bd2);font-size:11.5px;color:var(--tx3);display:flex;justify-content:space-between;align-items:center;gap: var(--space-2)}
.ch-status-foot strong{color:var(--tx2);font-weight:500}
.ch-status-foot a{color:var(--tx3);text-decoration:none;border-bottom:1px dotted var(--bd2);font-size:11px;cursor:pointer;white-space:nowrap}
.ch-status-foot a:hover{color:var(--ac);border-color:var(--ac)}

/* Tasks */
.ch-task{display:flex;align-items:flex-start;gap: 9px;padding: var(--space-2) 10px;background:var(--sur2);border-radius: 7px;margin-bottom: 5px;cursor:pointer;transition:opacity .15s}
.ch-task:hover{background:var(--sur3)}
.ch-task-cb{width:16px;height:16px;border-radius: 50%;border:2px solid var(--bd2);flex-shrink:0;margin-top: 2px;cursor:pointer;transition:background .15s,border-color .15s;position:relative}
.ch-task-cb:hover{border-color:var(--ac)}
.ch-task-cb.is-checked{background:var(--ac);border-color:var(--ac)}
.ch-task-cb.is-checked::after{content:"";position:absolute;left:3px;top:0px;width:4px;height:8px;border:solid var(--bg,#0c0c0c);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ch-task.is-done{opacity:.55}
.ch-task.is-done .ch-task-t{text-decoration:line-through;color:var(--tx3)}
.ch-task-b{flex:1;min-width:0}
.ch-task-t{font-size:12px;color:var(--tx);font-weight:500}
.ch-task-m{font-size:10.5px;color:var(--tx3);margin-top: 2px;display:flex;gap: 9px;font-weight:400}
.ch-task-m .ch-prio.h{color:var(--ac4);font-weight:500}
.ch-task-m .ch-prio.m{color:var(--ac3);font-weight:500}
.ch-task-m .ch-due.today{color:var(--ac3);font-weight:500}

/* Verträge */
.ch-contract{padding: 11px;background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;margin-bottom: 7px}
.ch-contract.is-current{border-left:3px solid var(--ac2)}
.ch-contract.is-future{border-left:3px solid var(--ac)}
.ch-contract-h{display:flex;justify-content:space-between;margin-bottom: 7px}
.ch-contract-a{font-size:12px;font-weight:500;color:var(--tx)}
.ch-contract-g{display:grid;grid-template-columns:1fr 1fr;gap: 6px;font-size:11.5px}
.ch-contract-g .l{color:var(--tx3);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.ch-contract-g .v{color:var(--tx);font-weight:400;font-family:'DM Mono',monospace}

/* Right Sidebar Inhalte — einheitliche Listen-Optik, weniger Farb-Highlights.
   Stage-Name (.ch-pp-stage) bleibt Olive-Akzent als zentraler Bezugspunkt,
   alle Zahlen-Werte daneben sind neutral (var(--tx)). */
/* Pipeline-Read-Only-Zeile (User-Wunsch 2026-05-12 nacht): Pipeline wird im
   CH nicht mehr ausgewählt, nur angezeigt. Zuordnung passiert in Kontakte-
   oder Pipeline-Page. */
/* Pipeline-Name direkt unter dem h4 — kein zweites Label, da die Card schon
   „Pipeline-Position" heißt. Read-only Anzeige (Zuweisung in Kontakte- oder
   Pipeline-Übersicht). */
.ch-pp-pipeline{color:var(--tx);font-weight:500;font-size:12px;padding: 0 0 var(--space-2);margin-bottom: 6px;border-bottom:1px dashed var(--bd)}

/* Timeline-Führungslinie zwischen den Dots im ContactHub komplett aus —
   nur Dots als Anker, kein vertikaler Strich. */
#p-contacthub .n-timeline::before{display:none}

/* Section-Counts wie „(3)" hinter ANSPRECHPARTNER — einheitlich auch für
   OFFENE AUFGABEN, AKTIVITÄTS-STREAM, VERTRÄGE etc. Olive Pill-Badges
   raus, dafür dezent in Klammern in der gleichen Label-Typo. */
#p-contacthub .ch-sec-h .n-badge-inline,
#p-contacthub .ch-sb h4 .n-badge-inline{
  background:transparent;border:0;padding: 0;color:var(--tx3);
  font-family:inherit;font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.06em
}
#p-contacthub .ch-sec-h .n-badge-inline::before,
#p-contacthub .ch-sb h4 .n-badge-inline::before{content:"("}
#p-contacthub .ch-sec-h .n-badge-inline::after,
#p-contacthub .ch-sb h4 .n-badge-inline::after{content:")"}
.ch-pp-stage{font-size:12px;font-weight:500;color:var(--ac);margin-bottom: 6px}
.ch-pp-row{font-size:11.5px;color:var(--tx2);margin-top: 5px;display:flex;justify-content:space-between;gap: var(--space-2)}
.ch-pp-row strong{color:var(--tx);font-family:'DM Mono',monospace;font-weight:400}
.ch-pp-row strong.warn,
.ch-pp-row strong.ac{color:var(--tx);font-family:'DM Mono',monospace;font-weight:400}

/* Verknüpfung-Items — Relation dezenter, Name normal */
.ch-link{padding: 6px 0;border-bottom:1px solid var(--bd)}
.ch-link:last-child{border-bottom:0}
.ch-link-rel{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;margin-bottom: 2px;font-weight:500}
.ch-link-n{font-size:12px;font-weight:500;color:var(--tx)}
.ch-link-s{font-size:11px;color:var(--tx3)}

/* Workflows + Letzte Dateien — einheitliche Liste */
.ch-file{font-size:11.5px;color:var(--tx);padding: 5px 0;border-bottom:1px solid var(--bd)}
.ch-file:last-child{border-bottom:0}
.ch-wf{font-size:11.5px;color:var(--tx);padding: 5px 0;border-bottom:1px solid var(--bd)}
.ch-wf:last-child{border-bottom:0}

/* Notes-Styles (Tab + Mini) sind in css/components/notes.css (eigenes Modul). */

/* Slide-In-Panels für Eigenschaften + Ansprechpartner — analog pm-panel.
   Header oben (Title + Close), Body scrollbar mit Editor-Form. */
.det-page#ch-prop-panel,
.det-page#ch-person-panel{padding: 0}
.ch-panel-head{display:flex;justify-content:space-between;align-items:center;padding: 18px 22px;border-bottom:1px solid var(--bd);background:var(--sur);position:sticky;top:0;z-index:2}
.ch-panel-head h3{margin: 0;font-size:14px;font-weight:500;color:var(--tx)}
.ch-panel-close{background:transparent;border:0;color:var(--tx3);font-size:24px;line-height:1;width:32px;height:32px;border-radius: 7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s}
.ch-panel-close:hover{color:var(--tx);background:var(--sur2)}
.ch-panel-body{padding: 22px}

/* Aufgaben-Mini-Card in der Right-Sidebar */
.ch-sb[data-ch-sb="tasks"] h4{display:flex;align-items:center;justify-content:space-between;gap: 6px}
.n-task-mini-add{background:transparent;border:1px solid var(--bd);color:var(--tx3);width:20px;height:20px;border-radius: 5px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding: 0;transition:color .15s,border-color .15s,background .15s}
.n-task-mini-add:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.08)}
.n-task-mini{padding: 7px 0;border-bottom:1px solid var(--bd);cursor:pointer;transition:padding-left .15s}
.n-task-mini:last-of-type{border-bottom:0}
.n-task-mini:hover{padding-left: var(--space-1)}
.n-task-mini-t{font-size:12px;color:var(--tx);line-height:1.35;font-weight:500;margin-bottom: 3px}
.n-task-mini-m{font-size:10.5px;color:var(--tx3);display:flex;gap: var(--space-2);align-items:center;font-family:'DM Mono',monospace;font-weight:400}
.n-task-mini-prio.h{color:var(--ac4);font-weight:500}
.n-task-mini-prio.m{color:var(--ac3);font-weight:500}
.n-task-mini-prio.l{color:var(--tx3)}
.n-task-mini-due.today{color:var(--ac3);font-weight:500}
.n-task-mini-empty{font-size:11px;color:var(--tx3);font-style:italic;padding: 6px 0}
.n-task-mini-all{display:block;width:100%;margin-top: var(--space-2);padding: 6px var(--space-2);background:transparent;border:1px dashed var(--bd);border-radius: var(--radius-md);color:var(--tx3);font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.n-task-mini-all:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.06)}

/* Tab-Inhalte: Filter-Pill-Leiste, Datei-Row, Empty-State.
   Notes-Styles sind in css/components/notes.css (eigenes Modul). */
.ch-tab-filter{display:flex;flex-wrap:wrap;gap: 5px;margin-bottom: var(--space-3)}
.ch-tab-filter .n-pill{font-size:11px;padding: var(--space-1) 9px}

.ch-file-row{display:flex;align-items:center;gap: 11px;padding: 10px var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;margin-bottom: 6px;cursor:pointer}
.ch-file-row:hover{background:var(--sur3);border-color:var(--bd2)}
.ch-file-row-i{font-size:18px;flex-shrink:0}
.ch-file-row-b{flex:1;min-width:0}
.ch-file-row-n{font-size:12px;font-weight:500;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-file-row-m{font-size:10.5px;color:var(--tx3);margin-top: 2px;display:flex;gap: var(--space-2)}
.ch-file-row-m .k{color:var(--ac);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:500}

.ch-empty{font-size:11.5px;color:var(--tx3);font-style:italic;padding: 18px;text-align:center;border:1px dashed var(--bd);border-radius: 8px}
.ch-empty strong{color:var(--tx2);font-style:normal;font-weight:500;display:block;margin-bottom: 3px}

/* Section Collapse-Chevron */
.ch-sec-chev{background:transparent;border:0;color:var(--tx3);font-size:13px;line-height:1;padding: 2px 6px;margin-right: 2px;cursor:pointer;border-radius: var(--radius-sm);transition:color .15s,background .15s,transform .15s}
.ch-sec-chev:hover{color:var(--tx);background:var(--sur2)}
.ch-sec.is-collapsed .ch-sec-body{display:none}

/* „+ N weitere · alle anzeigen →" Footer-Button */
.ch-task-more{display:block;width:100%;margin-top: 6px;padding: var(--space-2) 10px;background:transparent;border:1px dashed var(--bd);border-radius: 7px;color:var(--tx3);font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:color .15s,border-color .15s,background .15s}

/* Right-Sidebar-Mini-Cards: Header klappbar + Inline-Expand */
.ch-mini-h{display:flex;align-items:center;gap: 6px;cursor:pointer;user-select:none}
.ch-mini-h .ch-mini-chev{margin-left: auto;font-size:11px;color:var(--tx3);transition:transform .15s}
.is-collapsed > .ch-mini-h .ch-mini-chev{transform:rotate(-90deg)}
.is-collapsed > .ch-mini-body{display:none}

/* Pipeline-Picker im Header — visuelle Trennung vom SalesCycle-Stage */
#ch-pipeline-wrap{border-right:1px solid var(--bd);padding-right: var(--space-3);margin-right: 6px}
.ch-pipeline-link{margin-left: var(--space-1);color:var(--tx3);font-size:13px;text-decoration:none;padding: 2px 5px;border-radius: var(--radius-sm);transition:color .12s,background .12s}
.ch-pipeline-link:hover{color:var(--ac);background:var(--sur2)}
.ch-task-more:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.06)}

/* Notes-UI — kontakt-bezogenes Notizen-Modul (js/features/notes.js).
   Klassen-Präfix: n-note-* (modul-eigen, nicht ch-* da auch andere Module
   das Modul perspektivisch wiederverwenden können). */

/* Volle Notiz-Card (im Tab) */
.n-note{padding: 11px var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;margin-bottom: 7px;transition:border-color .15s}
.n-note:hover{border-color:var(--bd2)}
.n-note-h{display:flex;justify-content:space-between;align-items:center;margin-bottom: 5px;gap: var(--space-2)}
.n-note-h-l{display:flex;align-items:baseline;gap: var(--space-2);min-width:0;flex:1}
.n-note-a{font-size:11px;font-weight:600;color:var(--tx2);white-space:nowrap}
.n-note-t{font-size:9.5px;color:var(--tx3);font-family:'DM Mono',monospace}
.n-note-b{font-size:12px;color:var(--tx);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.n-note-actions{display:flex;gap: 2px;opacity:0;transition:opacity .15s}
.n-note:hover .n-note-actions{opacity:1}
.n-note-act{background:transparent;border:0;color:var(--tx3);width:22px;height:22px;border-radius: 5px;cursor:pointer;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s}
.n-note-act:hover{color:var(--tx);background:var(--sur3)}
.n-note-act[data-ch-act="delete-note"]:hover{color:var(--ac4)}

/* Add-Button (gestrichelt, full-width) */
.n-note-add{display:block;width:100%;margin-bottom: 10px;padding: 10px var(--space-3);background:transparent;border:1px dashed var(--bd);border-radius: 8px;color:var(--tx3);font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.n-note-add:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.06)}

/* Inline-Editor (Add + Edit) */
.n-note-editor{padding: var(--space-3);background:var(--sur);border:1px solid var(--ac);border-radius: 8px;margin-bottom: 10px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.n-note-ta{width:100%;min-height:90px;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: 10px var(--space-3);color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;line-height:1.5;outline:none;resize:vertical;box-sizing:border-box;transition:border-color .15s}
.n-note-ta:focus{border-color:var(--ac)}
.n-note-editor-foot{display:flex;gap: 6px;justify-content:flex-end;margin-top: var(--space-2)}

/* Empty-State im Tab */
.n-note-empty{font-size:11.5px;color:var(--tx3);font-style:italic;padding: 18px;text-align:center;border:1px dashed var(--bd);border-radius: 8px}
.n-note-empty strong{color:var(--tx2);font-style:normal;font-weight:600;display:block;margin-bottom: 3px}

/* Mini-Card für Sidebar/Overview (Top 3) */
.n-note-mini-add{background:transparent;border:1px solid var(--bd);color:var(--tx3);width:20px;height:20px;border-radius: 5px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding: 0;transition:color .15s,border-color .15s,background .15s}
.n-note-mini-add:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.08)}
.n-note-mini{padding: 6px 0;border-bottom:1px solid var(--bd);cursor:pointer;transition:padding-left .15s}
.n-note-mini:last-of-type{border-bottom:0}
.n-note-mini:hover{padding-left: var(--space-1)}
.n-note-mini:hover .n-note-mini-body{color:var(--tx)}
.n-note-mini-meta{font-size:9.5px;color:var(--tx3);margin-bottom: 3px;font-family:'DM Mono',monospace}
.n-note-mini-body{font-size:11px;color:var(--tx2);line-height:1.4;word-wrap:break-word}
.n-note-mini-empty{font-size:10.5px;color:var(--tx3);font-style:italic;padding: 6px 0}
.n-note-mini-all{display:block;width:100%;margin-top: var(--space-2);padding: 6px var(--space-2);background:transparent;border:1px dashed var(--bd);border-radius: var(--radius-md);color:var(--tx3);font-size:10px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.n-note-mini-all:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.06)}

/* Mini-Card-Header (h4 muss Flex sein damit +-Button rechts steht) */
.ch-sb[data-ch-sb="notes"] h4{display:flex;align-items:center;justify-content:space-between;gap: 6px}

/* Repowering-Notes-UI (js/features/repowering-notes.js).
   Eigener Klassen-Präfix .rp-note-* (kollidiert nicht mit .n-note-* aus
   der Plattform-Notes für ContactHub). */

.rp-note-list { list-style: none; padding: 0; margin: var(--space-2) 0 0; }
.rp-note-item {
  padding: 9px 11px;
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: 7px;
  margin-bottom: 6px;
  transition: border-color .15s;
}
.rp-note-item:hover { border-color: var(--bd2); }

.rp-note-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-2);
  margin-bottom: var(--space-1);
  font-size: 10.5px;
}
.rp-note-author {
  font-weight: 600;
  color: var(--tx2);
}
.rp-note-time {
  color: var(--tx3);
  font-family: 'DM Mono', monospace;
  font-size: 9.5px;
}
.rp-note-body {
  font-size: 12px;
  color: var(--tx);
  line-height: 1.45;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Editor — immer offen, kein Add-Button-Pre-Klick (Memory feedback_ui_affensicher 2026-05-23) */
.rp-note-editor {
  padding: 10px;
  background: var(--sur);
  border: 1px solid var(--ac);
  border-radius: 7px;
  margin-bottom: var(--space-2);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
}
.rp-note-ta {
  width: 100%;
  min-height: 70px;
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
  padding: var(--space-2) 10px;
  color: var(--tx);
  font-size: 12.5px;
  font-family: 'DM Sans', sans-serif;
  line-height: 1.45;
  outline: none;
  resize: vertical;
  box-sizing: border-box;
  transition: border-color .15s;
}
.rp-note-ta:focus { border-color: var(--ac); }
.rp-note-editor-foot {
  display: flex;
  gap: var(--space-2);
  align-items: center;
  justify-content: flex-end;
  margin-top: 7px;
}
.rp-note-hint {
  margin-right: auto;
  font-size: 10px;
  color: var(--tx3);
  font-family: 'DM Mono', monospace;
}
.rp-note-btn {
  padding: 5px 11px;
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: 5px;
  color: var(--tx);
  font-size: 11.5px;
  font-family: 'DM Sans', sans-serif;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.rp-note-btn:hover { background: var(--sur3); border-color: var(--bd2); }
.rp-note-btn-pri {
  background: var(--ac);
  color: #fff;
  border-color: var(--ac);
}
.rp-note-btn-pri:hover { background: var(--ac-hover, var(--ac)); border-color: var(--ac); }
.rp-note-btn-pri[disabled] {
  opacity: .4;
  cursor: not-allowed;
}
.rp-note-btn-pri[disabled]:hover { background: var(--ac); }

/* Empty-State */
.rp-note-empty {
  font-size: 11px;
  color: var(--tx3);
  font-style: italic;
  padding: var(--space-3);
  text-align: center;
  border: 1px dashed var(--bd);
  border-radius: 7px;
}

/* Contact-Properties UI (Custom-Felder pro Kontakt).
   Klassen-Präfix: ch-prop-* (passt zu Eigenschaften-Card im ContactHub). */

/* Property-Row: 3-spaltig — Label | Value | Actions */
.ch-prop{display:grid;grid-template-columns:1fr auto auto;gap: var(--space-2);padding: 6px 0;border-bottom:1px solid var(--bd);font-size:11px;align-items:baseline;position:relative}

/* Action-Icons rechts neben dem Wert, fade-in bei Hover */
.ch-prop-actions{display:flex;gap: 2px;opacity:0;transition:opacity .15s}
.ch-prop:hover .ch-prop-actions{opacity:1}
.ch-prop-act{background:transparent;border:0;color:var(--tx3);width:20px;height:20px;border-radius: var(--radius-sm);cursor:pointer;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s;padding: 0}
.ch-prop-act:hover{color:var(--tx);background:var(--sur3)}
.ch-prop-act[data-ch-act="delete-prop"]:hover{color:var(--ac4)}

/* Inline-Editor für neue/Edit-Property */
.ch-prop-editor{padding: 10px;background:var(--sur);border:1px solid var(--ac);border-radius: 8px;margin-bottom: var(--space-2);display:flex;flex-direction:column;gap: 6px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ch-prop-edit-k, .ch-prop-edit-v{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-md);padding: 7px 10px;color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s}
.ch-prop-edit-k:focus, .ch-prop-edit-v:focus{border-color:var(--ac)}
.ch-prop-editor-foot{display:flex;gap: 6px;justify-content:flex-end;margin-top: var(--space-1)}

/* Empty-State */
.ch-prop-empty{font-size:10.5px;color:var(--tx3);font-style:italic;padding: var(--space-2) 0;text-align:center}

/* + Button für neue Property — sitzt im ch-sb Header (siehe contact-properties.js: kein Header-Render hier, nur Klassen) */
.ch-prop-add{display:block;width:100%;margin-top: 6px;padding: 6px var(--space-2);background:transparent;border:1px dashed var(--bd);border-radius: var(--radius-md);color:var(--tx3);font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:color .15s,border-color .15s,background .15s}
.ch-prop-add:hover{color:var(--ac);border-color:var(--ac);background:rgba(122,128,36,.06)}

/* Contact-Persons UI (Ansprechpartner pro Kontakt).
   Klassen: ch-cmini-* (bestehend) + ch-person-edit-* (Editor) + ch-cmini-actions. */

.ch-cmini{position:relative}
.ch-cmini-actions{display:flex;gap: 2px;opacity:0;transition:opacity .15s;position:absolute;top:6px;right:6px;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-md);padding: 2px;z-index:2}
.ch-cmini:hover .ch-cmini-actions{opacity:1}
/* Rolle ausblenden wenn Actions sichtbar — beide würden sonst kollidieren */
.ch-cmini-r{transition:opacity .15s}
.ch-cmini:hover .ch-cmini-r{opacity:0}
.ch-cmini-act{background:transparent;border:0;color:var(--tx3);width:20px;height:20px;border-radius: var(--radius-sm);cursor:pointer;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,background .15s;padding: 0}
.ch-cmini-act:hover{color:var(--tx);background:var(--sur3)}
.ch-cmini-act[data-ch-act="delete-person"]:hover{color:var(--ac4)}
.ch-cmini-empty{font-size:10.5px;color:var(--tx3);font-style:italic;padding: var(--space-2) 0;text-align:center}

/* Person-Editor (Inline) */
.ch-person-editor{padding: var(--space-3);background:var(--sur);border:1px solid var(--ac);border-radius: 8px;margin-bottom: var(--space-2);display:flex;flex-direction:column;gap: 6px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ch-person-editor input[type="text"],
.ch-person-editor input[type="tel"],
.ch-person-editor input[type="email"]{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-md);padding: 7px 10px;color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}
.ch-person-editor input:focus{border-color:var(--ac)}
.ch-person-edit-pri{font-size:10.5px;color:var(--tx2);display:flex;align-items:center;gap: 6px;cursor:pointer;padding: var(--space-1) 0}
.ch-person-edit-pri input{margin: 0;accent-color:var(--ac)}
.ch-person-editor-foot{display:flex;gap: 6px;justify-content:flex-end;margin-top: var(--space-1)}

/* Contact-Files UI — Datei-Tab (Drop-Zone + Liste) + Mini-Card-Variante. */

/* Drop-Zone (Klick oder Drag&Drop) */
.ch-file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap: 6px;padding: var(--space-5) var(--space-4);background:var(--sur2);border:2px dashed var(--bd);border-radius: var(--radius-lg);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom: var(--space-3);text-align:center}
.ch-file-drop:hover{border-color:var(--ac);background:rgba(122,128,36,.04)}
.ch-file-drop.is-over{border-color:var(--ac);background:rgba(122,128,36,.10)}
.ch-file-drop-t{font-size:13px;font-weight:600;color:var(--tx)}
.ch-file-drop-s{font-size:10.5px;color:var(--tx3)}

/* File-Item in der vollen Tab-Liste */
.ch-file-item{display:flex;align-items:center;gap: 10px;padding: 9px var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;margin-bottom: 5px;transition:border-color .15s,background .15s;position:relative}
.ch-file-item:hover{border-color:var(--bd2);background:var(--sur3)}
.ch-file-item-i{font-size:20px;flex-shrink:0;width:28px;text-align:center}
.ch-file-item-thumb{width:42px;height:42px;flex-shrink:0;object-fit:cover;border-radius: var(--radius-md);border:1px solid var(--bd);background:var(--sur)}
.ch-file-item-b{flex:1;min-width:0;text-decoration:none;color:inherit;display:block}
.ch-file-item-n{font-size:12px;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-file-item-m{font-size:10px;color:var(--tx3);margin-top: 2px;display:flex;gap: 6px;flex-wrap:wrap;font-family:'DM Mono',monospace}
.ch-file-item-m .k{color:var(--ac);text-transform:uppercase;letter-spacing:.05em;font-size:9.5px;font-family:'DM Sans',sans-serif}
.ch-file-item-act{background:transparent;border:0;color:var(--tx3);width:22px;height:22px;border-radius: 5px;cursor:pointer;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s,background .15s;padding: 0}
.ch-file-item:hover .ch-file-item-act{opacity:1}
.ch-file-item-act:hover{color:var(--ac4);background:var(--sur)}

/* Empty-States */
.ch-file-empty{font-size:11.5px;color:var(--tx3);font-style:italic;padding: 18px;text-align:center;border:1px dashed var(--bd);border-radius: 8px}
.ch-file-mini-empty{font-size:10.5px;color:var(--tx3);font-style:italic;padding: 6px 0}

/* Mini-Card Link (Right-Sidebar) — übernimmt .ch-file Basis-Optik */
.ch-file-mini-link{display:block;text-decoration:none;color:var(--tx);transition:color .15s}
.ch-file-mini-link:hover{color:var(--ac)}

/* Contracts-UI — Verträge pro Kontakt. */

/* Filter-Leiste oben im Tab (Status + Energie) */
.ch-contract-filter{margin-bottom: var(--space-3);display:flex;flex-direction:column;gap: 6px}
.ch-contract-filter-row{display:flex;flex-wrap:wrap;gap: 5px}
.ch-contract-filter-row .n-pill{font-size:10.5px;padding: var(--space-1) 9px}
.ch-contract-filter-energie .n-pill{background:transparent;border-color:var(--bd)}
.ch-contract-filter-energie .n-pill.on{border-color:var(--ac);color:var(--ac)}

/* Vertrag-Card */
.ch-contract{padding: var(--space-3) 14px;background:var(--sur);border:1px solid var(--bd);border-radius: 9px;margin-bottom: var(--space-2);position:relative;transition:border-color .15s,background .15s}
.ch-contract:hover{border-color:var(--bd2);background:var(--sur2)}
.ch-contract.is-aktiv{border-left:3px solid var(--ac)}
.ch-contract.is-verm{border-left:3px solid var(--ac3)}
.ch-contract.is-archiv{border-left:3px solid var(--tx3);opacity:.7}

.ch-contract-h{display:flex;justify-content:space-between;align-items:center;gap: 10px;margin-bottom: var(--space-2)}
.ch-contract-h-l{display:flex;align-items:center;gap: 10px;min-width:0;flex:1}
.ch-contract-energie{font-size:11px;color:var(--tx2);font-weight:500;white-space:nowrap;flex-shrink:0}
.ch-contract-a{font-size:13px;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.n-badge-inline.is-aktiv{background:rgba(122,128,36,.12);color:var(--ac);border-color:rgba(122,128,36,.3)}
.n-badge-inline.is-verm{background:rgba(245,158,11,.12);color:var(--ac3);border-color:rgba(245,158,11,.3)}
.n-badge-inline.is-archiv{background:var(--sur2);color:var(--tx3);border-color:var(--bd)}

.ch-contract-g{display:grid;grid-template-columns:1fr 1fr;gap: var(--space-2);font-size:11px}
.ch-contract-g .l{color:var(--tx3);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-bottom: 1px}
.ch-contract-g .v{color:var(--tx);font-weight:500;font-family:'DM Mono',monospace}

/* Card-Actions (Edit/Delete-Icons rechts oben) */
.ch-contract-actions{position:absolute;top:8px;right:8px;display:flex;gap: 2px;opacity:0;transition:opacity .15s;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-md);padding: 2px;z-index:2}
.ch-contract:hover .ch-contract-actions{opacity:1}
.ch-contract-act{background:transparent;border:0;color:var(--tx3);width:22px;height:22px;border-radius: 5px;cursor:pointer;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding: 0;transition:color .15s,background .15s}
.ch-contract-act:hover{color:var(--tx);background:var(--sur2)}
.ch-contract-act[data-ch-act="delete-contract"]:hover{color:var(--ac4)}

/* Empty-State */
.ch-contract-empty{padding: 18px;text-align:center;font-size:11.5px;color:var(--tx3);font-style:italic;border:1px dashed var(--bd);border-radius: 8px}

/* Slide-In-Editor (im ch-contract-panel) */
.ch-contract-editor{display:flex;flex-direction:column;gap: 10px}
.ch-contract-editor label{display:flex;flex-direction:column;gap: var(--space-1);font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.ch-contract-editor input,
.ch-contract-editor select{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: var(--space-2) 10px;color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s;text-transform:none;letter-spacing:0;font-weight:400}
.ch-contract-editor input:focus,
.ch-contract-editor select:focus{border-color:var(--ac)}
.ch-contract-edit-row{display:grid;grid-template-columns:1fr 1fr;gap: 10px}
.ch-contract-edit-row label{margin: 0}
.ch-contract-editor-foot{display:flex;gap: 6px;justify-content:flex-end;margin-top: 6px}

/* SalesCycle — Konzept-Visualisierung des kompletten Lead-zu-Bestand-Flusses.
 * Stage-Spec: _context/specs/stage-modell.md (13 Stages, Snooze orthogonal).
 * Eigene Klassen mit sc- Präfix. n-* aus facelift.css wo möglich.
 */

/* Sektion-Wrapper */
.sc-sec{background:var(--sur);border:1px solid var(--bd);border-radius: 12px;padding: 18px 20px;margin-bottom: 14px}
.sc-sec h3{margin: 0 0 var(--space-1);font-size:14px;font-weight:600;color:var(--tx)}
.sc-sec .sc-sec-sub{font-size:11.5px;color:var(--tx3);margin: 0 0 14px}

/* Phase-Header (kleines Tag-Label vor einer Phase) */
.sc-phase-h{display:flex;align-items:center;gap: var(--space-2);margin: 18px 0 10px;font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.sc-phase-h::after{content:"";flex:1;height:1px;background:var(--bd)}
.sc-phase-h .sc-phase-tag{padding: 2px 9px;border-radius: 11px;font-size:9.5px;font-weight:700}
.sc-phase-h .sc-phase-tag.akquise{background:rgba(245,158,11,.12);color:var(--ac3);border:1px solid rgba(245,158,11,.3)}
.sc-phase-h .sc-phase-tag.bridge{background:rgba(213,217,96,.12);color:var(--ac);border:1px solid rgba(213,217,96,.35)}
.sc-phase-h .sc-phase-tag.bestand{background:rgba(86,107,134,.18);color:var(--ac2);border:1px solid rgba(86,107,134,.35)}
.sc-phase-h .sc-phase-tag.snooze{background:rgba(122,130,154,.15);color:var(--tx2);border:1px solid var(--bd2)}

/* Eingangskanäle */
.sc-eingang{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap: 10px;margin-bottom: 6px}
.sc-eingang-box{background:var(--sur2);border:1px solid var(--bd);border-radius: 9px;padding: 11px 13px}
.sc-eingang-box h5{margin: 0 0 var(--space-1);font-size:12.5px;font-weight:600;color:var(--tx)}
.sc-eingang-box p{margin: 0;font-size:10.5px;color:var(--tx3);line-height:1.5}
.sc-eingang-arrow{text-align:center;color:var(--tx3);font-size:14px;padding: 6px 0}

/* Stage-Funnel (horizontal scrollable bei schmalen Viewports) */
.sc-funnel{display:flex;align-items:stretch;gap: 0;overflow-x:auto;padding: 6px 2px 14px;margin: 0 -4px}
.sc-stage{display:flex;flex-direction:column;justify-content:space-between;min-width:120px;flex:1;padding: 11px var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 9px;border-left:3px solid var(--bd2);position:relative;transition:all .15s}
.sc-stage:hover{border-color:rgba(213,217,96,.4)}
.sc-stage.role-researcher{border-left-color:var(--tx3)}
.sc-stage.role-opener{border-left-color:var(--ac)}
.sc-stage.role-setter{border-left-color:var(--ac2)}
.sc-stage.role-closer{border-left-color:var(--ac3)}
.sc-stage.role-am{border-left-color:#a78bfa}
.sc-stage.is-current{background:rgba(213,217,96,.06);box-shadow:0 0 0 2px rgba(213,217,96,.18)}
.sc-stage-num{font-family:'DM Mono',monospace;font-size:9.5px;color:var(--tx3);font-weight:600;margin-bottom: 3px}
.sc-stage-name{font-size:12px;font-weight:600;color:var(--tx);line-height:1.3;margin-bottom: 6px}
.sc-stage-role{font-size:9px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom: 6px}
.sc-stage-role.role-researcher{color:var(--tx3)}
.sc-stage-role.role-opener{color:var(--ac)}
.sc-stage-role.role-setter{color:var(--ac2)}
.sc-stage-role.role-closer{color:var(--ac3)}
.sc-stage-role.role-am{color:#a78bfa}
.sc-stage-trigger{font-size:10px;color:var(--tx2);font-style:italic;line-height:1.4;border-top:1px dashed var(--bd);padding-top: 6px;margin-top: auto}
.sc-stage-arrow{display:flex;align-items:center;color:var(--tx3);font-size:13px;padding: 0 var(--space-1);flex-shrink:0;align-self:center}

/* Bridge-Box (Customer-Übergang) */
.sc-bridge{background:linear-gradient(135deg,rgba(245,158,11,.08) 0%,rgba(213,217,96,.10) 100%);border:1px dashed var(--ac);border-radius: var(--radius-lg);padding: 14px 18px;margin: 14px 0;text-align:center}
.sc-bridge-title{font-size:13px;font-weight:700;color:var(--ac);margin-bottom: var(--space-1)}
.sc-bridge-flow{font-family:'DM Mono',monospace;font-size:11px;color:var(--tx2);line-height:1.7}
.sc-bridge-flow .l-id{color:var(--ac3);font-weight:700}
.sc-bridge-flow .k-id{color:var(--ac);font-weight:700}
.sc-bridge-flow .arrow{color:var(--tx3);padding: 0 var(--space-2)}

/* Bestand-Loop */
.sc-loop{display:flex;align-items:center;gap: 0;flex-wrap:wrap;padding: 6px 2px}
.sc-loop-back{padding: 5px 10px;background:var(--sur3);border:1px dashed var(--bd2);border-radius: var(--radius-md);font-size:10px;color:var(--tx3);font-style:italic;margin-left: 6px;flex-shrink:0}

/* Snooze-Box */
.sc-snooze{background:var(--sur2);border:1px dashed var(--bd2);border-radius: var(--radius-lg);padding: 14px 18px}
.sc-snooze-flow{font-family:'DM Mono',monospace;font-size:11px;color:var(--tx2);line-height:1.8}
.sc-snooze-flow .stage-x{color:var(--ac);font-weight:600}
.sc-snooze-flow .lost{color:var(--ac4);font-weight:600}
.sc-snooze-flow .wakeup{color:var(--ac2);font-weight:600}

/* Pizzeria-Live-Card */
.sc-live{background:linear-gradient(135deg,rgba(213,217,96,.06) 0%,rgba(245,158,11,.04) 100%);border:1px solid rgba(213,217,96,.3);border-radius: 12px;padding: var(--space-4) 20px;display:grid;grid-template-columns:1fr auto;gap: 18px;align-items:center}
@media (max-width:760px){.sc-live{grid-template-columns:1fr}}
.sc-live-h{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom: 6px}
.sc-live-name{font-size:16px;font-weight:700;color:var(--tx);margin-bottom: var(--space-1)}
.sc-live-meta{font-size:11.5px;color:var(--tx2);line-height:1.6}
.sc-live-meta strong{color:var(--ac);font-weight:600}
.sc-live-meta code{background:var(--sur2);padding: 1px 6px;border-radius: var(--radius-sm);font-size:10.5px;color:var(--ac3)}

/* Daten-Architektur */
.sc-archi{display:grid;grid-template-columns:1fr 60px 1fr;gap: 14px;align-items:stretch}
@media (max-width:760px){.sc-archi{grid-template-columns:1fr}}
.sc-archi-box{background:var(--sur2);border:1px solid var(--bd);border-radius: 9px;padding: 14px var(--space-4)}
.sc-archi-box.akquise{border-left:3px solid var(--ac3)}
.sc-archi-box.bestand{border-left:3px solid var(--ac2)}
.sc-archi-box h5{margin: 0 0 6px;font-size:12.5px;font-weight:600;color:var(--tx);display:flex;justify-content:space-between;align-items:baseline}
.sc-archi-box h5 code{font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);background:var(--sur3);padding: 1px 6px;border-radius: var(--radius-sm)}
.sc-archi-box ul{margin: 6px 0 0;padding-left: var(--space-4);font-size:11px;color:var(--tx2);line-height:1.7}
.sc-archi-box ul li code{background:var(--sur3);padding: 1px 5px;border-radius: 3px;font-size:10px;color:var(--ac3);font-family:'DM Mono',monospace}
.sc-archi-arrow{display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--ac3)}
.sc-archi-arrow-text{font-size:9px;color:var(--tx3);text-align:center;text-transform:uppercase;letter-spacing:.05em;margin-top: var(--space-1)}

/* Status-Tabelle (was ist gebaut, was offen) */
.sc-status{display:grid;grid-template-columns:1fr;gap: 6px;margin-top: 6px}
.sc-status-row{display:grid;grid-template-columns:auto 1fr auto;gap: 10px;padding: var(--space-2) var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;align-items:center;font-size:11.5px}
.sc-status-row.is-done{border-left:3px solid var(--ac)}
.sc-status-row.is-todo{border-left:3px solid var(--bd2);opacity:.85}
.sc-status-row .check{font-size:14px}
.sc-status-row.is-done .check{color:var(--ac)}
.sc-status-row.is-todo .check{color:var(--tx3)}
.sc-status-row .lbl{color:var(--tx)}
.sc-status-row .ref{font-size:10px;color:var(--tx3);font-family:'DM Mono',monospace}

/* Legende für Rollen-Farben */
.sc-legend{display:flex;flex-wrap:wrap;gap: 14px;margin-top: var(--space-2);padding-top: var(--space-3);border-top:1px solid var(--bd);font-size:10.5px;color:var(--tx3)}
.sc-legend-item{display:inline-flex;align-items:center;gap: 6px}
.sc-legend-dot{width:9px;height:9px;border-radius: 2px;flex-shrink:0}
.sc-legend-dot.role-researcher{background:var(--tx3)}
.sc-legend-dot.role-opener{background:var(--ac)}
.sc-legend-dot.role-setter{background:var(--ac2)}
.sc-legend-dot.role-closer{background:var(--ac3)}
.sc-legend-dot.role-am{background:#a78bfa}
   /* 2026-05-12 zurück aus _archive: UI & UX → SalesCycle */
/* Aufgaben-Page (Projektmanagement) — eigene Komponenten-Klassen.
 * Aktuell leer: Detail-Panel rechts wurde 2026-05-09 entfernt (User-Wunsch).
 * Datei bleibt als Hook für künftige page-spezifische Styles.
 */

/* Sidebar-Layout Konfig-Page — Edit-Mode mit Pfeil-Buttons + Sichtbarkeits-Toggle. */

.sl-section{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: var(--space-3) 14px;margin-bottom: 10px;transition:border-color .12s}
.sl-section.is-edit{border-color:rgba(213,217,96,.25)}
.sl-section-h{display:flex;align-items:center;gap: var(--space-2);margin-bottom: var(--space-2);padding-bottom: var(--space-2);border-bottom:1px solid var(--bd)}
.sl-section-name{font-size:13px;font-weight:600;color:var(--tx);flex:1;margin-left: var(--space-1)}
.sl-section-count{font-size:10px;color:var(--tx3);font-family:'DM Mono',monospace}

.sl-items{display:flex;flex-direction:column;gap: 5px;padding-left: 18px}
.sl-item{display:flex;align-items:center;gap: var(--space-2);padding: 7px 10px;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;transition:all .12s}
.sl-section.is-edit .sl-item:hover{border-color:var(--bd2)}
.sl-item.is-hidden{opacity:.55;background:transparent;border-style:dashed}
.sl-item-name{font-size:12px;color:var(--tx);flex:1;margin-left: var(--space-1)}
.sl-item.is-hidden .sl-item-name{color:var(--tx3);text-decoration:line-through}

/* Pfeil-Buttons (sichtbar nur im Edit-Mode) */
.sl-arrow{background:var(--sur3);border:1px solid var(--bd);border-radius: 5px;width:24px;height:24px;color:var(--tx2);cursor:pointer;font-size:12px;line-height:1;padding: 0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;transition:all .12s}
.sl-arrow:hover:not(:disabled){border-color:var(--ac);color:var(--ac);background:rgba(213,217,96,.08)}
.sl-arrow:active:not(:disabled){transform:scale(.94)}
.sl-arrow:disabled{opacity:.25;cursor:not-allowed}

/* Eye-Toggle (sichtbar nur im Edit-Mode) */
.sl-eye{background:transparent;border:1px solid var(--bd);border-radius: 5px;padding: 3px 9px;color:var(--tx3);cursor:pointer;font-size:13px;transition:all .12s;line-height:1;flex-shrink:0;font-family:inherit}
.sl-eye:hover{border-color:var(--ac);color:var(--ac)}

/* Read-Only-Mode: kleines „versteckt"-Tag statt Eye-Button */
.sl-hidden-tag{font-size:9.5px;color:var(--tx3);background:var(--sur3);border:1px solid var(--bd);border-radius: 5px;padding: 2px 7px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-family:'DM Mono',monospace}

.dash-widgets{display:grid;grid-template-columns:1fr 1fr 1fr;gap: var(--space-4);padding: var(--space-1) 0}
.dash-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap: 11px}

/* FAQ-Chat — Editorial Layout (Schritt 1 des Redesigns)
   2-spaltig im Inhaltsbereich der Plattform: Konversation links, Quellen-Panel rechts.
   Typo: DM Sans (Body/Headlines) + DM Mono (Marker/Metadaten) — analog Plattform.
   Akzent-Farbe: Plattform-grün (var(--ac)). */

/* Container — füllt den verfügbaren .main-Bereich aus (Plattform-Sidebar
   ist position:fixed, .main hat margin-left:var(--sw)).
   Wichtig: nur wenn .active gesetzt ist, sonst überschreibt display:grid
   das default display:none von .page. */
#p-faqchat.page.faq-page.active {
  display: grid;
  grid-template-columns: 1fr 360px;
  height: calc(100vh - var(--hh));
  padding: 0;
  overflow: hidden;
  background: var(--bg);
}

/* Quellen-Panel rechts kann auf großen Screens eingeklappt werden */
#p-faqchat.faq-page.context-collapsed { grid-template-columns: 1fr !important; }
#p-faqchat.faq-page.context-collapsed .faq-context { display: none; }

@media (max-width: 1240px) {
  #p-faqchat.page.faq-page.active { grid-template-columns: 1fr 320px; }
}
@media (max-width: 1024px) {
  #p-faqchat.page.faq-page.active { grid-template-columns: 1fr; }
  #p-faqchat .faq-context { display: none; }
}

/* ───── Konversations-Spalte ───── */
.faq-conv {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
}

.faq-conv-header {
  padding: 14px var(--space-6);
  border-bottom: 1px solid var(--bd);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  background: var(--bg);
}

.faq-conv-meta-left { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }

.faq-conv-issue {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: var(--tx3);
  letter-spacing: 0.06em;
}

.faq-conv-title {
  font-size: 15px;
  color: var(--tx);
  font-weight: 500;
}

.faq-conv-meta-right { display: flex; gap: 6px; align-items: center; }

.faq-tag {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px var(--space-2);
  border: 1px solid var(--bd);
  border-radius: 3px;
  color: var(--tx3);
}
.faq-tag-ac {
  border-color: rgba(213,217,96,0.35);
  color: var(--ac);
  background: rgba(213,217,96,0.08);
}

.faq-conv-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--space-1) 10px;
  border-radius: 12px;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  border: 1px solid var(--bd);
  background: var(--sur2);
  color: var(--tx3);
  margin-left: 6px;
}
.faq-conv-status .dot {
  width: 6px; height: 6px; border-radius: 50%; background: var(--tx3);
}
.faq-conv-status.online {
  border-color: rgba(213,217,96,0.30);
  background: rgba(213,217,96,0.10);
  color: var(--ac);
}
.faq-conv-status.online .dot { background: var(--ac); }
.faq-conv-status.offline {
  border-color: rgba(245,158,11,0.30);
  background: rgba(245,158,11,0.10);
  color: var(--ac3);
}
.faq-conv-status.offline .dot { background: var(--ac3); }

.faq-conv-scroll {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-5) var(--space-6) var(--space-4);
  background: var(--bg);
}
.faq-conv-scroll::-webkit-scrollbar { width: 8px; }
.faq-conv-scroll::-webkit-scrollbar-thumb { background: var(--bd2); border-radius: var(--radius-sm); }

/* Empty State — Phase 4 Welle 3.M: Rahmen analog n-hero auf anderen Pages */
.faq-empty {
  max-width: 760px;
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: 14px;
  padding: 38px 36px var(--space-6);
  margin-top: var(--space-1);
  position: relative;
  overflow: hidden;
}
.faq-empty::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -80px;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(213,217,96,.06) 0%, transparent 60%);
  pointer-events: none;
}

.faq-empty-eyebrow {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--tx3);
  margin-bottom: 14px;
  position: relative;
}

.faq-empty-title {
  font-weight: 600;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--tx);
  margin-bottom: var(--space-3);
  max-width: 580px;
}
.faq-empty-title em {
  font-style: normal;
  color: var(--ac);
}

.faq-empty-sub {
  font-size: 13.5px;
  color: var(--tx2);
  max-width: 560px;
  line-height: 1.65;
  margin-bottom: var(--space-6);
}

.faq-suggestions-title {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--tx3);
  margin-bottom: 10px;
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--bd);
}

.faq-suggestion {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 14px;
  align-items: baseline;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--bd);
  cursor: pointer;
}
.faq-suggestion:hover .faq-suggestion-text { color: var(--ac); }

.faq-suggestion-num {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: var(--tx3);
}
.faq-suggestion-text {
  font-size: 14px;
  font-weight: 500;
  color: var(--tx);
  line-height: 1.4;
}
.faq-suggestion-cat {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  white-space: nowrap;
}

/* Thread + Bubble-Blocks */
.faq-thread { padding-bottom: var(--space-5); }

.faq-msg-block {
  margin-bottom: 36px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--bd);
}
.faq-msg-block:last-child { border-bottom: none; }

.faq-q-block {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 0;
  margin-bottom: var(--space-5);
  align-items: baseline;
}
.faq-q-marker {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: var(--tx3);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.faq-q-text {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.005em;
  color: var(--tx);
}

.faq-a-block { display: grid; grid-template-columns: 56px 1fr; gap: 0; }
.faq-a-marker {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: var(--ac);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.faq-a-content { min-width: 0; }

.faq-a-tldr {
  background: rgba(213,217,96,0.06);
  border-left: 3px solid var(--ac);
  padding: 13px var(--space-4);
  margin-bottom: 22px;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.faq-a-tldr-label {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--ac);
  margin-bottom: 5px;
}
.faq-a-tldr-text {
  font-size: 14px;
  color: var(--tx);
  line-height: 1.55;
  font-weight: 500;
}

.faq-a-prose {
  font-size: 14px;
  color: var(--tx);
  line-height: 1.7;
  max-width: 680px;
}
.faq-a-prose p { margin-bottom: var(--space-3); }
.faq-a-prose strong { color: var(--tx); font-weight: 600; }
.faq-a-prose em { color: var(--ac); font-style: italic; }
.faq-a-prose ul, .faq-a-prose ol { margin: var(--space-3) 0 var(--space-3) 22px; padding: 0; }
.faq-a-prose li { margin-bottom: 5px; color: var(--tx); }
.faq-a-prose code {
  font-family: 'DM Mono', monospace;
  font-size: 12.5px;
  background: var(--sur2);
  padding: 1px 5px;
  border-radius: 3px;
  color: var(--ac3);
}

.faq-cite {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  color: var(--ac);
  cursor: pointer;
  vertical-align: super;
  line-height: 0;
  margin: 0 1px;
  padding: 0 3px;
  border-radius: 2px;
  text-decoration: none;
}
.faq-cite:hover { background: rgba(213,217,96,0.14); }

/* WDB-Modus: Antwort gekürzt mit "Mehr anzeigen" */
.faq-a-toggle-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: var(--space-2);
  background: transparent;
  border: 1px solid var(--bd2);
  border-radius: var(--radius-sm);
  padding: 5px 10px;
  font-size: 11px;
  color: var(--tx2);
  cursor: pointer;
}
.faq-a-toggle-more:hover { background: var(--sur2); color: var(--ac); }

.faq-a-sources {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px dashed var(--bd2);
}
.faq-a-sources-title {
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--tx3);
  margin-bottom: 10px;
}
.faq-source-list { display: flex; flex-direction: column; gap: 5px; }

.faq-source-item {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 7px 10px;
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: var(--radius-sm);
  cursor: pointer;
}
.faq-source-item:hover { border-color: var(--bd2); background: var(--sur2); }
.faq-source-num {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--ac);
  text-align: center;
  font-weight: 600;
}
.faq-source-title {
  font-size: 12px;
  color: var(--tx);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.faq-source-meta {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
}

/* Aktions-Reihe + Confidence */
.faq-a-actions {
  display: flex;
  gap: var(--space-1);
  margin-top: 18px;
  align-items: center;
  flex-wrap: wrap;
}
.faq-action-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  background: transparent;
  border: 1px solid var(--bd);
  border-radius: var(--radius-sm);
  color: var(--tx2);
  font-size: 11px;
  font-family: 'DM Sans', sans-serif;
  cursor: pointer;
}
.faq-action-btn:hover { background: var(--sur2); color: var(--tx); }
.faq-action-btn.primary { border-color: var(--bd2); color: var(--tx); }
.faq-action-btn.voted-up { color: var(--ac); border-color: rgba(213,217,96,0.4); background: rgba(213,217,96,0.08); }
.faq-action-btn.voted-down { color: var(--ac4); border-color: rgba(248,113,113,0.4); background: rgba(248,113,113,0.08); }

.faq-action-divider { width: 1px; height: 14px; background: var(--bd); margin: 0 var(--space-1); }

.faq-confidence {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
}
.faq-confidence-bar { display: flex; gap: 2px; }
.faq-confidence-bar span {
  width: 4px; height: 10px; background: var(--bd); border-radius: 1px;
}
.faq-confidence-bar span.on { background: var(--ac); }

/* Verwandte Fragen */
.faq-a-related {
  margin-top: 22px;
  padding: var(--space-3) 14px;
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: var(--radius-sm);
}
.faq-a-related-title {
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--tx3);
  margin-bottom: var(--space-2);
}
.faq-related-list { display: flex; flex-direction: column; }
.faq-related-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 0;
  cursor: pointer;
  font-size: 13px;
  color: var(--tx2);
  border-top: 1px solid var(--bd);
}
.faq-related-item:first-child { border-top: none; }
.faq-related-item:hover { color: var(--ac); }
.faq-related-arrow { color: var(--tx3); font-family: 'DM Mono', monospace; font-size: 11px; }

/* Lade-Shimmer */
.faq-loading-block {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 0;
  margin-bottom: 36px;
}
.faq-loading-shimmer {
  height: 12px;
  background: var(--sur2);
  border-radius: 3px;
  margin-bottom: var(--space-2);
  position: relative;
  overflow: hidden;
}
.faq-loading-shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--sur3), transparent);
  animation: faqShimmer 1.4s infinite;
}
@keyframes faqShimmer {
  from { transform: translateX(-100%); }
  to   { transform: translateX(100%); }
}

/* ───── Input-Bar ───── */
.faq-input-bar {
  border-top: 1px solid var(--bd);
  background: var(--sur);
  padding: var(--space-3) var(--space-6) var(--space-4);
  flex-shrink: 0;
}

.faq-input-quick-row {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
  overflow-x: auto;
  scrollbar-width: none;
}
.faq-input-quick-row::-webkit-scrollbar { display: none; }

.faq-quick-chip {
  font-size: 11px;
  color: var(--tx2);
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: 14px;
  padding: var(--space-1) 10px;
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  font-family: 'DM Sans', sans-serif;
}
.faq-quick-chip:hover { background: var(--sur3); color: var(--tx); }

.faq-input-row {
  display: flex;
  align-items: flex-end;
  gap: var(--space-2);
  background: var(--sur2);
  border: 1px solid var(--bd2);
  border-radius: 8px;
  padding: 10px var(--space-3);
}
.faq-input-row:focus-within { border-color: var(--ac); background: var(--sur3); }

.faq-input-field {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  color: var(--tx);
  font-size: 14px;
  line-height: 1.5;
  max-height: 120px;
  min-height: 22px;
  font-family: 'DM Sans', sans-serif;
}
.faq-input-field::placeholder { color: var(--tx3); }

.faq-input-actions { display: flex; align-items: center; gap: var(--space-1); }

.faq-input-icon-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--bd);
  border-radius: 5px;
  color: var(--tx2);
  cursor: pointer;
}
.faq-input-icon-btn:hover { background: var(--sur); color: var(--tx); }
.faq-input-icon-btn.recording {
  background: rgba(248,113,113,0.12);
  border-color: rgba(248,113,113,0.4);
  color: var(--ac4);
}

.faq-send-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ac);
  border: 1px solid var(--ac);
  border-radius: 5px;
  color: var(--ac-on);
  cursor: pointer;
}
.faq-send-btn:hover { filter: brightness(1.05); }

.faq-input-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: var(--space-2);
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
}
.faq-input-meta-right { display: flex; gap: var(--space-3); }

.faq-mic-live {
  display: none;
  padding: 7px var(--space-4) var(--space-1);
  font-size: 12px;
  color: var(--ac2);
  font-style: italic;
  border-top: 1px solid var(--bd);
  background: rgba(34,211,238,.04);
  align-items: center;
  gap: 7px;
  margin: -4px -32px var(--space-2);
}
.faq-mic-live.active { display: flex; }
.faq-mic-live-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--ac4); display: inline-block;
  animation: faqPulse 1s infinite;
}
@keyframes faqPulse {
  0% { opacity: 1; }
  50% { opacity: 0.3; }
  100% { opacity: 1; }
}

/* ───── Quellen-Panel rechts ───── */
.faq-context {
  background: var(--sur);
  border-left: 1px solid var(--bd);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.faq-context-header {
  padding: 13px 18px;
  border-bottom: 1px solid var(--bd);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.faq-context-title {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--tx3);
}

.faq-context-tabs {
  display: flex;
  border-bottom: 1px solid var(--bd);
  padding: 0 var(--space-2);
}
.faq-context-tab {
  padding: 10px var(--space-3);
  font-size: 12px;
  color: var(--tx3);
  cursor: pointer;
  border-bottom: 1px solid transparent;
  margin-bottom: -1px;
  font-weight: 500;
  font-family: 'DM Sans', sans-serif;
  background: transparent;
  border-left: none;
  border-right: none;
  border-top: none;
}
.faq-context-tab:hover { color: var(--tx2); }
.faq-context-tab.active {
  color: var(--tx);
  border-bottom-color: var(--ac);
}
.faq-context-tab-count {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  margin-left: var(--space-1);
}
.faq-context-tab.active .faq-context-tab-count { color: var(--ac); }

.faq-context-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--space-4) 18px;
}
.faq-context-body::-webkit-scrollbar { width: 6px; }
.faq-context-body::-webkit-scrollbar-thumb { background: var(--bd2); border-radius: 3px; }

.faq-doc-card {
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
  padding: 14px;
  margin-bottom: 10px;
  cursor: pointer;
}
.faq-doc-card.active {
  border-color: var(--ac);
  background: linear-gradient(180deg, rgba(213,217,96,0.06) 0%, var(--sur2) 50%);
}
.faq-doc-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-2);
}
.faq-doc-num {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--ac);
  background: rgba(213,217,96,0.10);
  border: 1px solid rgba(213,217,96,0.25);
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: 600;
}
.faq-doc-type {
  font-family: 'DM Mono', monospace;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--tx3);
}
.faq-doc-title {
  font-weight: 600;
  font-size: 13px;
  color: var(--tx);
  margin-bottom: 7px;
  line-height: 1.3;
}
.faq-doc-snippet {
  font-size: 11.5px;
  color: var(--tx2);
  line-height: 1.55;
  padding: 9px;
  background: var(--sur);
  border-left: 2px solid var(--bd);
  border-radius: 0 3px 3px 0;
  font-style: italic;
}
.faq-doc-card.active .faq-doc-snippet { border-left-color: var(--ac); }
.faq-doc-snippet mark {
  background: rgba(213,217,96,0.14);
  color: var(--ac);
  padding: 0 2px;
  border-radius: 2px;
  font-style: normal;
  font-weight: 500;
}

/* Verwandt-Tab */
.faq-related-side-list { display: flex; flex-direction: column; gap: 0; }
.faq-related-side-item {
  padding: 10px 0;
  border-top: 1px solid var(--bd);
  cursor: pointer;
  font-size: 13px;
  color: var(--tx2);
}
.faq-related-side-item:first-child { border-top: none; }
.faq-related-side-item:hover { color: var(--ac); }

/* Verlauf-Tab */
.faq-verlauf-list { display: flex; flex-direction: column; gap: 0; }
.faq-verlauf-item {
  padding: 10px 0;
  border-top: 1px solid var(--bd);
  cursor: pointer;
}
.faq-verlauf-item:first-child { border-top: none; }
.faq-verlauf-item:hover .faq-verlauf-q { color: var(--ac); }
.faq-verlauf-q {
  font-size: 12.5px;
  color: var(--tx);
  font-weight: 500;
  margin-bottom: 3px;
}
.faq-verlauf-meta {
  font-family: 'DM Mono', monospace;
  font-size: 9.5px;
  color: var(--tx3);
}

.faq-empty-context {
  text-align: center;
  padding: var(--space-6) var(--space-4);
  color: var(--tx3);
  font-size: 12px;
}
.faq-empty-context-title {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--tx3);
  margin-bottom: 6px;
  margin-top: 10px;
}
.faq-empty-context-sub {
  color: var(--tx3);
  font-size: 11px;
  line-height: 1.5;
  max-width: 200px;
  margin: 0 auto;
}

.faq-fade-in { animation: faqFadeIn 0.25s ease-out; }
@keyframes faqFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* KB */
.kb-wrap{display:grid;grid-template-columns:230px 1fr;border:1px solid var(--bd);border-radius: var(--radius-lg);overflow:hidden;background:var(--sur)}
.kb-side{border-right:1px solid var(--bd);overflow-y:auto;max-height:calc(100vh - 130px);display:flex;flex-direction:column}
.kb-search-wrap{padding: 10px 10px 6px;border-bottom:1px solid var(--bd)}
.kb-search-wrap .sw{margin: 0}
.kb-grp-label{padding: var(--space-3) 13px var(--space-1);font-size:9.5px;font-weight:600;color:var(--tx3);letter-spacing:.07em;text-transform:uppercase;font-family:'DM Mono',monospace}
.kbc{padding: 6px 13px 6px 11px;cursor:pointer;font-size:12px;color:var(--tx2);display:flex;align-items:center;gap: 7px;transition:all .12s;border-left:2px solid transparent}
.kbc:hover{color:var(--tx);background:rgba(255,255,255,.022)}
.kbc.on{color:var(--tx);background:rgba(255,255,255,.03);border-left-color:var(--ac2)}
.kbc-dot{width:6px;height:6px;border-radius: 50%;flex-shrink:0;background:var(--tx3)}
.kbc.strom .kbc-dot{background:#378ADD}
.kbc.gas .kbc-dot{background:#f59e0b}
.kbc.pv .kbc-dot{background:var(--ac)}
.kbc.rep .kbc-dot{background:var(--ac2)}
.kbc.training .kbc-dot{background:#a78bfa}
.kbc.praxis .kbc-dot{background:#f87171}
.kbc-lbl{flex:1;line-height:1.3}
.kbc.on .kbc-lbl{color:var(--tx)}
.kbc-cnt{font-size:9.5px;color:var(--tx3);font-family:'DM Mono',monospace;flex-shrink:0}
.kbc.on .kbc-cnt{color:var(--ac2)}
.kb-main{padding: var(--space-4);overflow-y:auto;max-height:calc(100vh - 130px);display:flex;flex-direction:column;gap: 0}
.kb-cat-hd{margin-bottom: 14px;padding-bottom: var(--space-3);border-bottom:1px solid var(--bd);display:flex;align-items:flex-start;justify-content:space-between;gap: 10px}
.kb-cat-hd-left{}
.kb-cat-title{font-size:14px;font-weight:600;color:var(--tx);line-height:1.3;margin-bottom: 3px}
.kb-cat-sub{font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace}
.kb-cat-bar{width:3px;height:36px;border-radius: 2px;flex-shrink:0;background:var(--ac2)}
.kb-cat-bar.strom{background:#378ADD}
.kb-cat-bar.gas{background:#f59e0b}
.kb-cat-bar.pv{background:var(--ac)}
.kb-cat-bar.rep{background:var(--ac2)}
.kb-cat-bar.training{background:#a78bfa}
.kb-cat-bar.praxis{background:#f87171}
.kbe{background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;margin-bottom: 6px;cursor:pointer;transition:all .12s;overflow:hidden;display:flex}
.kbe:hover{border-color:var(--bd2)}
.kbe.open{border-color:rgba(34,211,238,.25)}
.kbe-bar{width:3px;flex-shrink:0;background:transparent;transition:background .12s}
.kbe.open .kbe-bar,.kbe:hover .kbe-bar{background:var(--ac2)}
.kbe.strom .kbe-bar{background:rgba(55,138,221,.3)}
.kbe.strom:hover .kbe-bar,.kbe.strom.open .kbe-bar{background:#378ADD}
.kbe.gas .kbe-bar{background:rgba(245,158,11,.3)}
.kbe.gas:hover .kbe-bar,.kbe.gas.open .kbe-bar{background:#f59e0b}
.kbe.pv .kbe-bar{background:rgba(74,222,128,.2)}
.kbe.pv:hover .kbe-bar,.kbe.pv.open .kbe-bar{background:var(--ac)}
.kbe.rep .kbe-bar{background:rgba(34,211,238,.2)}
.kbe.rep:hover .kbe-bar,.kbe.rep.open .kbe-bar{background:var(--ac2)}
.kbe.training .kbe-bar{background:rgba(167,139,250,.25)}
.kbe.training:hover .kbe-bar,.kbe.training.open .kbe-bar{background:#a78bfa}
.kbe.praxis .kbe-bar{background:rgba(248,113,113,.25)}
.kbe.praxis:hover .kbe-bar,.kbe.praxis.open .kbe-bar{background:#f87171}
.kbe-inner{flex:1;padding: 11px 13px;min-width:0}
.kbq{font-size:12.5px;font-weight:500;color:var(--tx);display:flex;align-items:flex-start;justify-content:space-between;gap: 9px}
.kbt{color:var(--tx3);font-size:11px;flex-shrink:0;transition:transform .18s;margin-top: 2px}
.kbe.open .kbt{transform:rotate(180deg)}
.kba{font-size:12px;color:var(--tx2);line-height:1.65;margin-top: 9px;padding-top: 9px;border-top:1px solid var(--bd);display:none}
.kbe.open .kba{display:block}
.kb-meta{display:flex;gap: 7px;margin-top: 7px;font-size:9.5px;color:var(--tx3);font-family:'DM Mono',monospace}
.kbtag{background:var(--sur3);padding: 1px 6px;border-radius: 7px}
.kb-acts{display:none;gap: 5px;margin-top: 7px;padding-top: 7px;border-top:1px solid var(--bd)}
.kbe:hover .kb-acts{display:flex}
.kb-act{font-size:10px;padding: 2px 7px;border-radius: var(--radius-sm);cursor:pointer;border:1px solid var(--bd);background:var(--sur3);color:var(--tx2);transition:all .12s}
.kb-act:hover{color:var(--tx)}.kb-act.del{color:var(--ac4);border-color:rgba(248,113,113,.18)}

/* WDB-Audit — Inhaltsprüfung der Wissensdatenbank
   Karten-Layout für schnelles Lesen + Akzeptieren. Eigene Datei (modulares CSS),
   nutzt Plattform-Variablen (--bg, --sur, --ac, --tx, --tx2, --tx3, --bd).
   Tab-Stil läuft über die Editorial-.n-pill / .n-pill-cnt aus facelift.css. */

#p-wdb-audit { padding: var(--space-5); }

.wdb-audit-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  margin: var(--space-1) 0 20px;
  flex-wrap: wrap;
}

.wdb-audit-tabs { display: flex; gap: 6px; flex-wrap: wrap; }

.wdb-cat-select {
  background: var(--sur);
  border: 1px solid var(--bd);
  color: var(--tx);
  padding: 6px 10px;
  border-radius: var(--radius-md);
  font: 500 12px 'DM Sans', sans-serif;
  cursor: pointer;
  min-width: 220px;
}

.wdb-audit-list { display: flex; flex-direction: column; gap: 14px; }

/* Bulk-Action-Bar — z.B. „Alle Off-Topic verwerfen" */
.wdb-bulk-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: var(--space-3) var(--space-4);
  background: rgba(213,217,96,.06);
  border: 1px solid rgba(213,217,96,.25);
  border-radius: 9px;
  flex-wrap: wrap;
}
.wdb-bulk-info {
  font-size: 12.5px;
  color: var(--tx2);
  line-height: 1.5;
  flex: 1;
  min-width: 220px;
}
.wdb-bulk-info strong {
  color: var(--tx);
  font-weight: 600;
  font-family: 'DM Mono', monospace;
}
.wdb-bulk-info em {
  font-style: normal;
  background: var(--sur2);
  padding: 1px 6px;
  border-radius: var(--radius-sm);
  font-family: 'DM Mono', monospace;
  font-size: 11.5px;
  color: var(--tx);
}

.wdb-audit-empty {
  text-align: center;
  padding: var(--space-8) var(--space-5);
  color: var(--tx3);
  font-size: 13px;
}

/* Audit-Karte */
.wdb-card {
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
  position: relative;
  transition: border-color 0.2s;
}
.wdb-card:hover { border-color: rgba(213, 217, 96, 0.4); }
.wdb-card.fehlerhaft { border-left: 3px solid var(--ac4); }
.wdb-card.verbesserungsfähig { border-left: 3px solid var(--ac3); }
.wdb-card.ok { border-left: 3px solid var(--ac); }
.wdb-card[data-decision="accept"] { background: rgba(213,217,96,0.04); border-color: rgba(213,217,96,0.35); }
.wdb-card[data-decision="reject"] { opacity: 0.55; }

.wdb-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: 10px;
}
.wdb-card-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  letter-spacing: 0.04em;
}
.wdb-badge {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  padding: 2px var(--space-2);
  border-radius: var(--radius-sm);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.wdb-badge.fehlerhaft { background: rgba(248,113,113,0.14); color: var(--ac4); }
.wdb-badge.verbesserungsfähig { background: rgba(245,158,11,0.14); color: var(--ac3); }
.wdb-badge.ok { background: rgba(213,217,96,0.18); color: var(--ac); }
.wdb-badge.accepted { background: rgba(213,217,96,0.18); color: var(--ac); }

.wdb-q {
  font-size: 17px;
  font-weight: 600;
  color: var(--tx);
  line-height: 1.35;
  margin: 6px 0 14px;
}

.wdb-block { margin: 10px 0; }
.wdb-block-label {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--tx3);
  margin-bottom: 6px;
}
.wdb-current {
  background: var(--bg);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
  padding: var(--space-3) 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--tx2);
  white-space: pre-wrap;
}
.wdb-eval {
  font-size: 13px;
  line-height: 1.5;
  color: var(--tx2);
  font-style: italic;
  padding: var(--space-2) 0;
}
.wdb-suggest {
  background: rgba(213,217,96,0.06);
  border: 1px dashed rgba(213,217,96,0.4);
  border-radius: var(--radius-md);
  padding: var(--space-3) 14px;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--tx);
  white-space: pre-wrap;
}
.wdb-suggest-empty {
  color: var(--tx3);
  font-size: 12px;
  padding: 6px 0;
  font-style: italic;
}

.wdb-actions {
  display: flex;
  gap: var(--space-2);
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--bd);
  flex-wrap: wrap;
}
.wdb-btn {
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx);
  padding: 7px 14px;
  border-radius: 8px;
  cursor: pointer;
  font: 500 12px 'DM Sans', sans-serif;
  transition: all 0.15s;
}
.wdb-btn:hover { border-color: var(--ac); color: var(--ac); }
.wdb-btn.accept { background: var(--ac); border-color: var(--ac); color: var(--ac-on); font-weight: 600; }
.wdb-btn.accept:hover { filter: brightness(1.08); color: var(--ac-on); }
.wdb-btn.reject:hover { border-color: var(--ac4); color: var(--ac4); background: rgba(248,113,113,0.06); }
.wdb-btn.edit:hover { border-color: var(--ac3); color: var(--ac3); background: rgba(245,158,11,0.06); }
.wdb-btn.flag:hover { border-color: var(--ac4); color: var(--ac4); background: rgba(248,113,113,0.08); }
.wdb-btn.delete { border-style: dashed; color: var(--tx3); }
.wdb-btn.delete:hover { border-style: solid; border-color: var(--ac4); color: var(--ac4); background: rgba(248,113,113,0.1); }

.wdb-editor {
  width: 100%;
  background: var(--bg);
  border: 1px solid rgba(213,217,96,0.4);
  border-radius: var(--radius-md);
  padding: var(--space-3) 14px;
  font: 400 13.5px/1.55 'DM Sans', system-ui, sans-serif;
  color: var(--tx);
  resize: vertical;
  min-height: 130px;
  outline: none;
  box-sizing: border-box;
}
.wdb-editor:focus { border-color: var(--ac); box-shadow: 0 0 0 2px rgba(213,217,96,0.18); }

.wdb-decision-tag {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: var(--space-1) 10px;
  border-radius: var(--radius-sm);
  display: inline-block;
}
.wdb-decision-tag.accept { background: rgba(213,217,96,0.18); color: var(--ac); }
.wdb-decision-tag.reject { background: rgba(248,113,113,0.14); color: var(--ac4); }
.wdb-decision-tag.custom { background: rgba(245,158,11,0.14); color: var(--ac3); }

/* WDB-Audit Research-Sidebar — eigenes CSS, modular.
   Schiebt sich von rechts ins Bild, fixed position, eigener Scrollbereich. */

.wdb-research-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 460px;
  max-width: 100vw;
  height: 100vh;
  background: var(--sur);
  border-left: 1px solid var(--bd);
  box-shadow: -8px 0 32px rgba(0,0,0,.4);
  z-index: 500;
  transform: translateX(100%);
  transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
  display: flex;
  flex-direction: column;
  font-family: 'DM Sans', system-ui, sans-serif;
}
.wdb-research-panel.open { transform: translateX(0); }

@media (max-width: 720px) {
  .wdb-research-panel { width: 100vw; }
}

.wdb-research-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--bd);
}
.wdb-research-titlebox { flex: 1; min-width: 0; }
.wdb-research-label {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: var(--space-1);
}
.wdb-research-q {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--tx);
  word-wrap: break-word;
}
.wdb-research-close {
  width: 30px;
  height: 30px;
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx2);
  border-radius: var(--radius-md);
  font-size: 16px;
  cursor: pointer;
  flex-shrink: 0;
}
.wdb-research-close:hover { border-color: var(--ac); color: var(--tx); }

.wdb-research-tabs {
  display: flex;
  gap: var(--space-1);
  padding: var(--space-3) 22px;
  border-bottom: 1px solid var(--bd);
}
.wdb-rtab {
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx2);
  padding: 6px var(--space-3);
  border-radius: var(--radius-pill);
  cursor: pointer;
  font: 500 12px 'DM Sans', sans-serif;
  letter-spacing: 0.01em;
  transition: all 0.15s;
}
.wdb-rtab:hover { border-color: var(--ac); color: var(--tx); }
.wdb-rtab.on { background: var(--ac); border-color: var(--ac); color: #1a1f0a; }

.wdb-research-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 22px var(--space-6);
}

.wdb-rsearch {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}
.wdb-rsearch input {
  flex: 1;
  background: var(--bg);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
  padding: 9px var(--space-3);
  color: var(--tx);
  font: 400 13px 'DM Sans', sans-serif;
  outline: none;
}
.wdb-rsearch input:focus { border-color: var(--ac); box-shadow: 0 0 0 2px rgba(213,217,96,0.18); }

/* URL-Tab: fixer https://-Prefix vor dem Input */
.wdb-rurl-wrap {
  flex: 1;
  display: flex;
  align-items: stretch;
  background: var(--bg);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.wdb-rurl-wrap:focus-within { border-color: var(--ac); box-shadow: 0 0 0 2px rgba(213,217,96,0.18); }
.wdb-rurl-prefix {
  background: rgba(255,255,255,0.04);
  color: var(--tx3);
  padding: 9px 10px;
  font: 500 12px 'DM Mono', monospace;
  border-right: 1px solid var(--bd);
  user-select: none;
  white-space: nowrap;
}
.wdb-rurl-wrap input {
  flex: 1;
  background: transparent;
  border: none;
  padding: 9px var(--space-3);
  color: var(--tx);
  font: 400 13px 'DM Sans', sans-serif;
  outline: none;
  min-width: 0;
}

.wdb-rhint {
  font-size: 11px;
  color: var(--tx3);
  margin: var(--space-2) 0 14px;
  line-height: 1.5;
  font-style: italic;
}

.wdb-rresults { display: flex; flex-direction: column; gap: 10px; }
.wdb-rresults-meta {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: var(--space-1);
}

.wdb-rempty, .wdb-rloading {
  text-align: center;
  padding: 28px var(--space-3);
  font-size: 12px;
  color: var(--tx3);
  font-style: italic;
}
.wdb-rloading::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: var(--space-2);
  border: 2px solid var(--ac);
  border-top-color: transparent;
  border-radius: 50%;
  animation: wdb-rsspin 0.7s linear infinite;
  vertical-align: middle;
}
@keyframes wdb-rsspin { to { transform: rotate(360deg); } }

.wdb-rresult {
  background: var(--bg);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: var(--space-3) 14px;
}
.wdb-rresult:hover { border-color: rgba(213,217,96,0.35); }
.wdb-rresult-cat {
  font-family: 'DM Mono', monospace;
  font-size: 9.5px;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: var(--space-1);
}
.wdb-rresult-q {
  font-size: 13px;
  font-weight: 600;
  color: var(--tx);
  line-height: 1.35;
  margin-bottom: 6px;
}
.wdb-rresult-a {
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--tx2);
  white-space: pre-wrap;
}
.wdb-rresult-actions {
  display: flex;
  gap: 6px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--bd);
}
.wdb-rresult-actions .wdb-btn { padding: 5px 11px; font-size: 11px; }

.wdb-rsources {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--bd);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.wdb-rsources-label {
  font-family: 'DM Mono', monospace;
  font-size: 9.5px;
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.wdb-rsource-link {
  font-size: 11.5px;
  color: var(--ac);
  text-decoration: none;
  word-break: break-word;
  line-height: 1.4;
}
.wdb-rsource-link:hover { text-decoration: underline; }

/* WDB-Audit-Karten leicht nach links rücken, wenn Sidebar offen, damit nichts überlappt */
body.wdb-research-open #p-wdb-audit { padding-right: 480px; }
@media (max-width: 1300px) {
  body.wdb-research-open #p-wdb-audit { padding-right: var(--space-5); }
}

/* wdb-d1-setup.css am 2026-05-13 archiviert (one-shot Page durch) */
/* SALES COPILOT */
.cp-seg{display:flex;background:var(--sur2);border-radius: 8px;padding: 3px;gap: 2px;border:1px solid var(--bd)}
.cp-seg-item{flex:1;padding: 7px var(--space-2);border-radius: var(--radius-md);font-size:12px;text-align:center;cursor:pointer;color:var(--tx3);transition:all .12s;display:flex;align-items:center;justify-content:center;gap: 5px;white-space:nowrap;user-select:none}
.cp-seg-item:hover{color:var(--tx);background:rgba(255,255,255,.04)}
.cp-seg-item.on{background:var(--sur3);color:var(--ac);font-weight:600;border:1px solid rgba(74,222,128,.3);box-shadow:0 0 0 1px rgba(74,222,128,.1)}
.cp-tip{border-radius: 7px;padding: var(--space-2) 10px;font-size:11.5px;line-height:1.5;border-left:3px solid transparent;background:var(--sur3);margin-bottom: 5px}
.cp-tip.einwand{border-left-color:#f87171;background:rgba(248,113,113,.06)}
.cp-tip.kaufsignal{border-left-color:#4ade80;background:rgba(74,222,128,.06)}
.cp-tip.preis{border-left-color:#f59e0b;background:rgba(245,158,11,.06)}
.cp-tip.frage{border-left-color:#22d3ee;background:rgba(34,211,238,.06)}
.cp-tip.info{border-left-color:var(--ac2);background:rgba(34,211,238,.04)}
.cp-tip-label{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.cp-tip.einwand .cp-tip-label{color:#f87171}.cp-tip.kaufsignal .cp-tip-label{color:#4ade80}
.cp-tip.preis .cp-tip-label{color:#f59e0b}.cp-tip.frage .cp-tip-label{color:#22d3ee}
.cp-tip.info .cp-tip-label{color:var(--ac2)}
.cp-script-step{padding: var(--space-2) 10px;border-radius: var(--radius-md);margin-bottom: var(--space-1)}
.cp-script-step.active{background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.2)}
.cp-script-step-title{font-size:11.5px;font-weight:500;color:var(--tx);display:flex;align-items:center;gap: 6px;cursor:pointer}
.cp-script-check{display:flex;flex-direction:column;gap: 3px;margin-top: 6px;padding-left: var(--space-4)}
.cp-check-item{display:flex;align-items:center;gap: 6px;font-size:11px;color:var(--tx2);cursor:pointer;padding: 2px 0}
.cp-check-item.done{color:var(--tx3);text-decoration:line-through}
.cp-check-item .chk{width:14px;height:14px;border-radius: 3px;border:1px solid var(--bd2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px}
.cp-check-item.done .chk{background:var(--ac);border-color:var(--ac);color:var(--ac-on)}
.cp-prog-step{padding: 5px var(--space-3);border-radius: 20px;font-size:11px;white-space:nowrap;border:1px solid var(--bd);color:var(--tx3);cursor:default}
.cp-prog-step.done{background:rgba(74,222,128,.1);color:var(--ac);border-color:rgba(74,222,128,.3)}
.cp-prog-step.active{background:rgba(34,211,238,.1);color:var(--ac2);border-color:rgba(34,211,238,.3);font-weight:500}
.cp-transcript-line{font-size:12px;line-height:1.6;padding: var(--space-2) 10px;border-radius: 7px;background:var(--sur3);color:var(--tx);border-left:3px solid var(--bd)}
.cp-transcript-line.einwand{border-left-color:#f87171}
.cp-transcript-line.kaufsignal{border-left-color:#4ade80}
.cp-transcript-line.preis{border-left-color:#f59e0b}
.cp-transcript-line.frage{border-left-color:#22d3ee}
/* VOICE PILL – Claude-style */
.voice-dots{display:flex;gap: 3px;align-items:center}
.voice-dots span{width:4px;height:4px;border-radius: 50%;background:var(--ac2);opacity:.7;transition:all .2s}
.voice-dots span:nth-child(1){animation:dotBounce 1.2s .0s infinite}
.voice-dots span:nth-child(2){animation:dotBounce 1.2s .2s infinite}
.voice-dots span:nth-child(3){animation:dotBounce 1.2s .4s infinite}
/* LEAD STATUS BADGES */
.ld-badge{display:inline-flex;align-items:center;gap: 3px;font-size:9.5px;padding: 2px var(--space-2);border-radius: 12px;font-weight:500}
.ld-badge.neu{background:rgba(139,144,168,.1);color:var(--tx3)}
.ld-badge.kontaktiert{background:rgba(34,211,238,.09);color:var(--ac2)}
.ld-badge.qualifiziert{background:rgba(245,158,11,.09);color:var(--ac3)}
.ld-badge.angebot{background:rgba(167,139,250,.1);color:#a78bfa}
.ld-badge.konvertiert{background:rgba(74,222,128,.09);color:var(--ac)}
.ld-badge.verloren{background:rgba(248,113,113,.08);color:var(--ac4)}
/* KI-STATUS INDICATOR */
.cp-ki-status{display:inline-flex;align-items:center;gap: 5px;font-size:11px;color:var(--tx3);padding: 3px 10px;border-radius: 20px;border:1px solid var(--bd);background:var(--sur2);margin-right: 6px;transition:all .3s}
.cp-ki-status .cp-ki-dot{width:7px;height:7px;border-radius: 50%;flex-shrink:0;transition:background .4s}
.cp-ki-status.ki-online{border-color:rgba(74,222,128,.3);color:var(--ac)}
.cp-ki-status.ki-online .cp-ki-dot{background:#4ade80;box-shadow:0 0 5px rgba(74,222,128,.5)}
.cp-ki-status.ki-offline{border-color:rgba(248,113,113,.3);color:#f87171}
.cp-ki-status.ki-offline .cp-ki-dot{background:#f87171}
.cp-ki-status.ki-checking{border-color:rgba(245,158,11,.3);color:#f59e0b}
.cp-ki-status.ki-checking .cp-ki-dot{background:#f59e0b;animation:cpblink 1s infinite}
/* EINWAND-RADAR BANNER */
.cp-radar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom: 6px}
.cp-radar-label{font-size:11px;font-weight:700;color:#ef4444;letter-spacing:.5px;display:flex;align-items:center;gap: 5px}
.cp-radar-label::before{content:"\26A1";font-size:13px}
.cp-radar-close{background:none;border:none;color:rgba(239,68,68,.6);cursor:pointer;font-size:14px;padding: 0;line-height:1}
.cp-radar-close:hover{color:#ef4444}
.cp-radar-tip{font-size:12px;color:var(--tx2);line-height:1.4}
/* EINWAND-VORHERSAGE */
.cp-ev-header{display:flex;align-items:center;justify-content:space-between;margin-bottom: var(--space-2);cursor:pointer}
.cp-ev-title{font-weight:700;color:var(--tx1);font-size:11px;display:flex;align-items:center;gap: 5px}
.cp-ev-title::before{content:"\1F3AF"}
.cp-ev-toggle{color:var(--tx3);font-size:10px;transition:transform .3s}
.cp-ev-toggle.open{transform:rotate(180deg)}
.cp-ev-item{display:flex;flex-direction:column;gap: 2px}
.cp-ev-label{display:flex;justify-content:space-between;color:var(--tx2);font-size:10px}
.cp-ev-bar-track{height:4px;background:var(--bd);border-radius: 2px;overflow:hidden}
.cp-ev-bar-fill{height:100%;border-radius: 2px;background:linear-gradient(90deg,#f59e0b,#ef4444);transition:width .6s ease}
.cp-bc-header{background:linear-gradient(135deg,#7f1d1d,#991b1b);padding: var(--space-2) var(--space-3);display:flex;align-items:center;justify-content:space-between}
.cp-bc-title{font-size:11px;font-weight:700;color:#fca5a5;letter-spacing:.5px;display:flex;align-items:center;gap: 5px}
.cp-bc-title::before{content:"\1F6E1";font-size:12px}
.cp-bc-badge{font-size:9px;background:rgba(252,165,165,.2);color:#fca5a5;border:1px solid rgba(252,165,165,.3);padding: 2px 6px;border-radius: var(--radius-sm)}
.cp-bc-close{background:none;border:none;color:rgba(252,165,165,.6);cursor:pointer;font-size:14px;padding: 0}
.cp-bc-close:hover{color:#fca5a5}
.cp-bc-body{background:var(--sur2);padding: 10px var(--space-3)}
.cp-bc-einwand{font-size:10px;color:var(--tx3);margin-bottom: var(--space-1);font-style:italic}
.cp-bc-konter{font-size:12px;color:var(--tx1);line-height:1.45;font-weight:500}
.cp-bc-source{margin-top: 6px;font-size:10px;color:var(--ac);display:flex;align-items:center;gap: var(--space-1)}
.cp-bc-source::before{content:"\1F4DA";font-size:10px}

/* === V1+V2 COCKPIT-LAYOUT (2026-04-27) ============================== */
/* Battle-Card + Radar als sichtbare Overlays sind im Cockpit nicht mehr nötig —
   der Fokus-Bereich (cp-focus) übernimmt diese Rolle prominenter. Die JS-Logik
   bleibt unangetastet, nur die Sichtbarkeit wird per CSS ausgeblendet. */
#cp-battle-card,#cp-battle-card.card-active,
#cp-einwand-radar,#cp-einwand-radar.radar-active{display:none!important}

/* Header: Titel + Ampel + Phase-Pill + Timer + Status + Aktionen */
.cp2-hidden{display:none!important}
.cp2-header{display:flex;align-items:center;gap: var(--space-3);padding: var(--space-3) var(--space-4);background:var(--sur2);border:1px solid var(--bd);border-radius: 12px;margin-bottom: var(--space-3);flex-wrap:wrap}
.cp2-title{font-size:16px;font-weight:700;color:var(--tx);margin-right: var(--space-1)}
.cp2-ampel{display:inline-flex;align-items:center;gap: var(--space-2);padding: 5px var(--space-3);border-radius: 20px;border:1px solid;transition:all .3s}
.cp2-ampel.green{background:rgba(74,222,128,.06);border-color:rgba(74,222,128,.25);color:var(--ac)}
.cp2-ampel.amber{background:rgba(251,191,36,.06);border-color:rgba(251,191,36,.3);color:#fbbf24}
.cp2-ampel.red{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.45);color:#f87171}
.cp2-ampel-light{width:9px;height:9px;border-radius: 50%;background:currentColor;box-shadow:0 0 8px currentColor}
.cp2-ampel.red .cp2-ampel-light{animation:pulse 1s infinite}
.cp2-ampel-l{font-size:12px;font-weight:600}
.cp2-phase{padding: var(--space-1) 11px;background:rgba(213,217,96,.06);border:1px solid rgba(213,217,96,.2);border-radius: 20px;color:var(--ac);font-size:11.5px;font-weight:600;white-space:nowrap}
.cp2-coldcall{padding: var(--space-1) 10px;background:rgba(96,165,250,.08);border:1px solid rgba(96,165,250,.3);border-radius: 20px;color:#60a5fa;font-size:11px;font-weight:600;white-space:nowrap}
.cp2-timer{font-family:'DM Mono',monospace;color:var(--tx2);font-size:13px;min-width:42px;text-align:center}
.cp2-mic-state{font-size:10px;color:var(--tx3);padding: 3px 9px;border-radius: 12px;background:var(--sur3);border:1px solid var(--bd)}
.cp2-cancel{padding: 5px var(--space-3);font-size:11px;color:var(--tx3)}
.cp2-finish{padding: 6px 14px;font-size:12px;font-weight:700;background:rgba(74,222,128,.1);color:var(--ac);border:1px solid rgba(74,222,128,.3);cursor:pointer;border-radius: 7px}

/* Grid: 280px Sidebar | 1fr Main */
.cp2-grid{display:grid;grid-template-columns:280px 1fr;gap: var(--space-3);height:calc(100vh - 220px);min-height:520px}
.cp2-side{display:flex;flex-direction:column;gap: var(--space-3);overflow-y:auto;min-height:0}
.cp2-main{display:flex;flex-direction:column;gap: var(--space-3);min-height:0}

/* Sidebar-Blöcke */
.cp2-block{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 14px}
.cp2-block-h{font-size:9.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-bottom: 10px;display:flex;justify-content:space-between;align-items:center}
.cp2-block-h-r{color:var(--tx2);font-weight:600;font-size:11px}
.cp2-script-list{display:flex;flex-direction:column;gap: 5px}
.cp2-profile{font-size:11.5px;color:var(--tx2);line-height:1.55}
.cp2-profile-row{display:flex;justify-content:space-between;padding: var(--space-1) 0;border-bottom:1px dashed var(--bd)}
.cp2-profile-row:last-child{border:none}
.cp2-profile-row span:last-child{color:var(--tx);font-weight:500}

/* Main: Transcript-Block kompakt oben */
.cp2-transcript-block{flex-shrink:0;max-height:170px;display:flex;flex-direction:column}
.cp2-transcript{flex:1;overflow-y:auto;display:flex;flex-direction:column-reverse;gap: var(--space-1)}
.cp2-transcript .cp-transcript-line{margin: 0}
.cp2-listening{font-size:9px;color:var(--ac);padding: 1px 6px;background:rgba(213,217,96,.08);border-radius: 8px;letter-spacing:.05em;text-transform:uppercase}

/* Main: Fokus-Bereich (das Herz des Live-Modus) */
.cp2-focus{flex:1;min-height:240px;background:linear-gradient(180deg,rgba(213,217,96,.04),transparent);border:2px solid rgba(213,217,96,.18);border-radius: 14px;padding: var(--space-5) var(--space-6);display:flex;align-items:center;justify-content:center;transition:all .25s;position:relative}
.cp2-focus.amber{border-color:rgba(251,191,36,.4);background:linear-gradient(180deg,rgba(251,191,36,.06),transparent)}
.cp2-focus.red{border-color:rgba(248,113,113,.55);background:linear-gradient(180deg,rgba(248,113,113,.08),transparent);animation:focusPulse 1.4s ease-out}
@keyframes focusPulse{0%{transform:scale(1.012)}100%{transform:scale(1)}}
.cp2-focus-empty{text-align:center;color:var(--tx3);max-width:420px}
.cp2-focus-icon{font-size:38px;margin-bottom: var(--space-2);opacity:.45}
.cp2-focus-l{font-size:14px;color:var(--tx2);margin-bottom: 6px;font-weight:500}
.cp2-focus-sub{font-size:11.5px;color:var(--tx3);line-height:1.5}

/* Aktiver Tipp im Fokus */
.cp2-focus-tip{width:100%;max-width:640px;text-align:center;animation:focusFade .25s ease-out}
@keyframes focusFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cp2-focus-tip-tag{display:inline-block;padding: 3px 11px;border-radius: 20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom: 10px}
.cp2-focus-tip-tag.einwand{background:#f87171;color:#0f1117}
.cp2-focus-tip-tag.kaufsignal{background:#4ade80;color:#0f1117}
.cp2-focus-tip-tag.frage,.cp2-focus-tip-tag.preis{background:#fbbf24;color:#0f1117}
.cp2-focus-tip-tag.info{background:var(--ac);color:var(--ac-on)}
.cp2-focus-tip-label{font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;margin-bottom: var(--space-2);font-weight:600}
.cp2-focus-tip-text{font-size:22px;font-weight:600;color:var(--tx);line-height:1.32;margin-bottom: 14px}
.cp2-focus-tip-action{font-size:15px;color:var(--ac);font-style:italic;line-height:1.45;padding: 10px var(--space-4);background:rgba(213,217,96,.04);border-left:3px solid var(--ac);border-radius: 0 8px 8px 0;text-align:left;margin-top: 6px}
.cp2-focus-tip-action::before{content:'„'}
.cp2-focus-tip-action::after{content:'"'}

/* Eingabe-Bar unten */
.cp2-input-bar{display:flex;gap: var(--space-2);align-items:center;padding: 10px var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-lg);flex-shrink:0}
.cp2-mic-btn{width:42px;height:42px;border-radius: 50%;background:linear-gradient(135deg,var(--ac),#a8ad48);border:none;color:var(--ac-on);font-size:18px;cursor:pointer;flex-shrink:0;transition:all .15s;display:inline-flex;align-items:center;justify-content:center}
.cp2-mic-btn.is-paused{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;animation:cp2-pulse 1.4s ease-in-out infinite}
@keyframes cp2-pulse{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.45)}50%{box-shadow:0 0 0 6px rgba(245,158,11,0)}}

/* Speaker-Tags im Transkript (Diarization) */
.cp-speaker-tag{display:inline-block;padding: 1px 7px;border-radius: 9px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-right: 7px;vertical-align:baseline}
.cp-speaker-tag.vp{background:rgba(213,217,96,.18);color:var(--ac);border:1px solid rgba(213,217,96,.35)}
.cp-speaker-tag.kd{background:rgba(167,139,250,.14);color:#a78bfa;border:1px solid rgba(167,139,250,.3)}
.cp-transcript-line.speaker-vp{border-left:3px solid var(--ac);padding-left: var(--space-2)}
.cp-transcript-line.speaker-kd{border-left:3px solid #a78bfa;padding-left: var(--space-2)}
.cp-transcript-line.speaker-unknown{border-left:3px solid var(--bd2);padding-left: var(--space-2)}

/* KI-Fallback-Banner — wenn Anthropic API nicht erreichbar ist */
.cp2-ki-fallback-banner{display:flex;align-items:flex-start;gap: 10px;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.35);border-radius: 8px;padding: 10px 14px;margin-bottom: 10px;font-size:11.5px;color:var(--tx);line-height:1.45}
.cp2-ki-fallback-icon{font-size:18px;line-height:1.1;color:#f59e0b;flex-shrink:0}
.cp2-ki-fallback-text{flex:1}
.cp2-ki-fallback-text b{color:#f59e0b}

/* Pause-Banner über der Eingabe-Bar */
.cp2-pause-banner{display:flex;align-items:center;gap: 10px;background:rgba(245,158,11,.10);border:1px solid rgba(245,158,11,.45);border-radius: 8px;padding: 9px 14px;margin-bottom: var(--space-2);font-size:11.5px;color:#f59e0b;line-height:1.45}
.cp2-pause-banner-dot{width:8px;height:8px;border-radius: 50%;background:#f59e0b;flex-shrink:0;animation:cp2-pulse-dot 1.4s ease-in-out infinite}
@keyframes cp2-pulse-dot{0%,100%{opacity:1}50%{opacity:.35}}
.cp2-pause-banner-text{flex:1}
.cp2-pause-banner-text b{color:#f59e0b}
.cp2-mic-btn:hover{transform:scale(1.04)}
.cp2-mic-btn.recording{box-shadow:0 0 0 4px rgba(213,217,96,.18);animation:micPulse 1.4s ease-in-out infinite}
@keyframes micPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.cp2-input-field{flex:1;font-size:13px;padding: 10px 14px;background:var(--sur3);border:1px solid var(--bd);border-radius: 8px;color:var(--tx);font-family:inherit}
.cp2-input-field::placeholder{color:var(--tx3)}
.cp2-send{padding: 9px 18px;font-size:14px;font-weight:700}

/* === SETUP REDESIGN (2026-04-27) — Karten + Tiles + native SVG-Icons === */
.cps-card{background:var(--sur2);border:1px solid var(--bd);border-radius: 12px;overflow:hidden;margin-bottom: 14px}
.cps-card>section{padding: 18px 22px;border-bottom:1px solid var(--bd)}
.cps-card>section:last-child{border-bottom:none}
.cps-sec-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom: var(--space-3)}
.cps-sec-l{font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.cps-sec-r{font-size:11px;color:var(--tx3)}

/* Tile-Grid für Themen + Ziele */
.cps-tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap: var(--space-2)}
.cps-tile{background:var(--sur3);border:1px solid var(--bd);border-radius: 9px;padding: 14px 10px;text-align:center;cursor:pointer;font-size:12px;color:var(--tx2);transition:all .15s;display:flex;flex-direction:column;align-items:center;gap: var(--space-2);user-select:none}
.cps-tile:hover{border-color:var(--bd2);color:var(--tx);background:var(--sur2)}
.cps-tile.on{background:rgba(213,217,96,.06);border-color:rgba(213,217,96,.4);color:var(--ac);font-weight:600}
.cps-icon{width:24px;height:24px;flex-shrink:0;color:var(--tx3);transition:color .15s}
.cps-tile:hover .cps-icon{color:var(--tx2)}
.cps-tile.on .cps-icon{color:var(--ac)}

.cps-input{width:100%;background:var(--sur3);border:1px solid var(--bd);border-radius: 7px;padding: 10px 14px;font-size:12.5px;color:var(--tx);font-family:inherit;margin-top: 10px}
.cps-input::placeholder{color:var(--tx3)}
.cps-input:focus{border-color:var(--ac2);outline:none}

/* Modus-Optionen als Karten mit Erklärung */
.cps-opt-grid{display:grid;grid-template-columns:1fr 1fr;gap: 14px}
.cps-opt{display:flex;align-items:flex-start;gap: var(--space-3);padding: 14px;background:var(--sur3);border:1px solid var(--bd);border-radius: 9px;cursor:pointer;transition:all .15s}
.cps-opt:hover{border-color:var(--bd2)}
.cps-opt.on{background:rgba(213,217,96,.06);border-color:rgba(213,217,96,.35)}
.cps-opt.is-disabled{opacity:.45;cursor:not-allowed}
.cps-opt.is-disabled:hover{border-color:var(--bd)}
.cps-opt.is-disabled::after{content:'mit Follow-Up nicht kombinierbar';position:absolute;bottom:6px;right:10px;font-size:10px;color:var(--tx3);font-style:italic}
.cps-opt{position:relative}
.cps-tog{width:32px;height:18px;border-radius: 9px;background:var(--bd2);position:relative;flex-shrink:0;margin-top: 2px;transition:background .17s}
.cps-tog::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius: 50%;background:var(--tx);transition:transform .17s}
.cps-opt.on .cps-tog{background:var(--ac)}
.cps-opt.on .cps-tog::after{transform:translateX(14px)}
.cps-opt-text{flex:1;min-width:0}
.cps-opt-l{font-size:13px;font-weight:600;color:var(--tx);margin-bottom: var(--space-1);display:flex;align-items:center;gap: 7px}
.cps-opt-icon{width:16px;height:16px;color:var(--tx3);flex-shrink:0}
.cps-opt.on .cps-opt-icon{color:var(--ac)}
.cps-opt-sub{font-size:11.5px;color:var(--tx3);line-height:1.5}

/* Optionen (Skript + Sperrwörter) */
.cps-upload{display:flex;flex-direction:column;gap: 14px}
.cps-upload-row{display:flex;align-items:center;gap: var(--space-3);flex-wrap:wrap;position:relative;border-radius: var(--radius-lg);transition:background .15s,box-shadow .15s,border-color .15s}
/* Phase 4 Welle 3 — Dropzone permanent sichtbar (dezent), .is-dragover hebt hervor */
#cp-skript-dropzone{
  border:1.5px dashed var(--bd);
  background:rgba(213,217,96,.025);
  padding: 14px var(--space-4);
}
#cp-skript-dropzone:hover{
  border-color:rgba(213,217,96,.5);
  background:rgba(213,217,96,.05);
}
.cps-upload-l{flex:1;min-width:200px}
.cps-upload-l b{font-size:13px;color:var(--tx);display:block;margin-bottom: 3px;font-weight:600}
.cps-upload-l span{font-size:11.5px;color:var(--tx3);line-height:1.5}
.cps-btn{background:var(--sur3);border:1px solid var(--bd);color:var(--tx);padding: var(--space-2) 14px;border-radius: 7px;font-size:12.5px;cursor:pointer;font-family:inherit;font-weight:500;display:inline-flex;align-items:center;gap: 7px}
.cps-btn:hover{border-color:var(--bd2);background:var(--sur2)}
.cps-btn-ghost{background:transparent;color:var(--tx3);border-style:dashed}
.cps-btn-icon{width:14px;height:14px}

/* Drop-Zone Overlay (erscheint beim Drag-Over auf #cp-skript-dropzone) */
.cps-drop-overlay{position:absolute;inset:-6px;border:2px dashed var(--ac);border-radius: 11px;background:color-mix(in srgb,var(--ac) 8%,var(--sur2));display:flex;align-items:center;justify-content:center;gap: 10px;color:var(--ac);font-size:13px;font-weight:600;pointer-events:none;opacity:0;transform:scale(.98);transition:opacity .12s,transform .12s;z-index:5}
.cps-drop-overlay svg{width:20px;height:20px}
#cp-skript-dropzone.is-dragover .cps-drop-overlay{opacity:1;transform:scale(1)}
#cp-skript-dropzone.is-dragover{background:color-mix(in srgb,var(--ac) 4%,transparent)}

/* Gespeicherte Skripte */
.cps-skripte-list{display:flex;flex-direction:column;gap: 6px}
.cps-skripte-list:empty{display:none}
.cps-skripte-item{display:flex;align-items:center;gap: 10px;padding: 10px var(--space-3);background:var(--sur3);border:1px solid var(--bd);border-radius: 8px}
.cps-skripte-item.is-active{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 6%,var(--sur3))}
.cps-skripte-item.is-active.is-paused{border-style:dashed;background:var(--sur3)}
.cps-skripte-item .cps-skripte-r{flex:1;min-width:0}
.cps-skripte-item .cps-skripte-n{font-size:13px;color:var(--tx);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cps-skripte-item .cps-skripte-m{font-size:11px;color:var(--tx3);margin-top: 2px}
.cps-skripte-item .cps-skripte-act{display:flex;gap: 6px;flex-shrink:0}
.cps-skripte-item .cps-skripte-act button{background:transparent;border:1px solid var(--bd);color:var(--tx2);padding: 5px 10px;border-radius: var(--radius-md);font-size:11.5px;cursor:pointer;font-family:inherit}
.cps-skripte-item .cps-skripte-act button:hover{border-color:var(--bd2);color:var(--tx)}
.cps-skripte-item .cps-skripte-act button.is-danger:hover{border-color:#c44;color:#c44}
.cps-skripte-item.is-active.is-paused .cps-skripte-n::after{content:' · pausiert';color:var(--tx3);font-weight:400}

/* Auswertung — Scope-Toggle (Nur meine / Alle Tester) */
.cp-auw-scope{display:inline-flex;border:1px solid var(--bd);border-radius: 7px;overflow:hidden;background:var(--sur2)}
.cp-auw-scope-btn{background:transparent;border:none;color:var(--tx3);font-size:11.5px;padding: 5px 11px;cursor:pointer;font-family:inherit;font-weight:500;transition:background .12s,color .12s}
.cp-auw-scope-btn:hover{color:var(--tx2)}
.cp-auw-scope-btn.is-active{background:var(--ac);color:var(--ac-on);font-weight:600}
.cp-auw-scope-btn:disabled{opacity:.4;cursor:not-allowed}

/* Sperrbegriffe-Chips (Live-Cockpit + Auswertung) */
.cp2-sperr-list{display:flex;flex-wrap:wrap;gap: 6px;padding: var(--space-1) 0}
.cp2-sperr-list:empty::before{content:'Keine konfiguriert.';color:var(--tx3);font-size:11.5px;font-style:italic}
.cp2-block-h-r{display:inline-flex;align-items:center;gap: var(--space-2)}
.cp2-sperr-edit-btn{background:transparent;border:1px solid var(--bd);color:var(--tx3);padding: 2px 5px;border-radius: 5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:0;transition:color .15s,border-color .15s}
.cp2-sperr-edit-btn:hover{color:var(--ac);border-color:var(--ac)}
.cp2-sperr-edit-btn svg{width:12px;height:12px}
.cp2-sperr-edit{display:flex;flex-direction:column;gap: 6px;padding: 6px 0 2px}
.cp2-sperr-edit .cps-input{font-size:11.5px;padding: 6px 9px}
.cp2-sperr-edit-act{display:flex;gap: 6px;justify-content:flex-end}
.cp2-sperr-edit-act .cps-btn{font-size:11px;padding: 5px 11px}
.cp2-sperr-chip{display:inline-flex;align-items:center;gap: 6px;padding: var(--space-1) 10px;background:var(--sur3);border:1px solid var(--bd);border-radius: 14px;font-size:11.5px;color:var(--tx2);font-weight:500}
.cp2-sperr-chip.hit{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.4);color:#f87171}
.cp2-sperr-chip-cnt{background:#f87171;color:#fff;border-radius: 8px;padding: 0 6px;font-size:10px;font-weight:700;min-width:14px;text-align:center}

/* Auswertung Sperrbegriffe-Section */
.cpa-sperr{background:rgba(248,113,113,.06);border-left:3px solid #f87171;padding: 14px 22px !important}
.cpa-sperr.no-hits{background:rgba(74,222,128,.05);border-left-color:var(--ac)}
.cpa-sperr-h{font-size:12px;font-weight:700;color:var(--tx);text-transform:uppercase;letter-spacing:.05em;margin-bottom: var(--space-2);display:flex;align-items:center;gap: var(--space-2)}
.cpa-sperr-h .cpa-sperr-status{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;color:#f87171}
.cpa-sperr.no-hits .cpa-sperr-status{color:var(--ac)}
.cpa-sperr-list{display:flex;flex-wrap:wrap;gap: 6px}

/* KI-Hint neben dem Sperrbegriffe-Label */
.cps-sperr-ki-hint{color:var(--ac);font-weight:500}

/* Save-Reminder in Schritt 5 */
.cps-save-reminder{display:flex;align-items:center;gap: var(--space-3);padding: 11px var(--space-4);margin-bottom: var(--space-3);background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.35);border-radius: 9px}
.cps-save-reminder-icon{font-size:16px;color:#f59e0b;flex-shrink:0}
.cps-save-reminder-text{flex:1;font-size:12px;color:var(--tx);line-height:1.4}
.cps-save-reminder .cps-btn{flex-shrink:0;border-color:rgba(245,158,11,.5);color:#f59e0b}
.cps-save-reminder .cps-btn:hover{border-color:#f59e0b;background:rgba(245,158,11,.06)}

/* Wizard-Stepper / Step / Nav-Footer leben jetzt in components/wizard.css
   (generische .wz-* Klassen, geteilt mit dem News-Setup). */

/* Skript-KI-Spinner (Step 4 Footer) */
.cps-wizard-busy{display:inline-flex;align-items:center;gap: var(--space-2);font-size:11.5px;color:var(--tx2);font-weight:500}

/* Spinner — kleiner CSS-Loader */
.cps-spinner{display:inline-block;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--ac) 25%,transparent);border-top-color:var(--ac);border-radius: 50%;animation:cps-spin .7s linear infinite}
@keyframes cps-spin{to{transform:rotate(360deg)}}

/* Start-Bereich */
.cps-start{display:flex;align-items:center;gap: 18px;padding: 18px 22px;background:var(--sur2);border:1px solid var(--bd);border-radius: 12px;margin-top: 2px}
.cps-start-info{flex:1;min-width:0}
.cps-start-title{font-size:14px;color:var(--tx);font-weight:600;margin-bottom: 3px}
.cps-start-sub{font-size:11.5px;color:var(--tx3);line-height:1.5;display:flex;flex-wrap:wrap;gap: 6px;align-items:center}
.cps-start-sub:empty::before{content:'Bereit zum Start.';color:var(--tx3);font-style:italic}
.cps-summary-pill{display:inline-flex;align-items:center;gap: 5px;padding: 3px 9px;border-radius: 11px;background:var(--sur3);border:1px solid var(--bd);font-size:11px;color:var(--tx2);font-weight:500}
.cps-summary-pill.on{background:color-mix(in srgb,var(--ac) 10%,var(--sur3));border-color:color-mix(in srgb,var(--ac) 35%,var(--bd));color:var(--tx)}
.cps-summary-pill.warn{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.35);color:#f59e0b}
.cps-summary-pill .cps-summary-pill-l{font-weight:400;color:var(--tx3)}
.cps-summary-pill.on .cps-summary-pill-l{color:var(--tx2)}
.cps-start-btn{background:linear-gradient(135deg,var(--ac),#a8ad48);color:var(--ac-on);border:none;font-weight:700;padding: 13px 26px;font-size:14px;border-radius: 9px;cursor:pointer;display:inline-flex;align-items:center;gap: 10px;font-family:inherit;flex-shrink:0;transition:transform .12s}
.cps-start-btn:hover{transform:translateY(-1px)}
.cps-start-btn svg{width:16px;height:16px}

/* Responsive */
@media (max-width:900px){
  .cps-tile-grid{grid-template-columns:repeat(2,1fr)}
  .cps-opt-grid{grid-template-columns:1fr}
  .cps-start{flex-direction:column;align-items:stretch;gap: 14px}
}

/* === AUSWERTUNG REDESIGN v2 (2026-04-27) ===========================
   Eine Karte, klare Sections, dezente Farben.
   Akzent NUR im Score (semantisch: rot/gelb/grün je nach Bewertung).
   Alles andere in Graustufen — keine Farb-Cacophonie zwischen den Sections. */

.cpa-card{background:var(--sur2);border:1px solid var(--bd);border-radius: 14px;overflow:hidden;margin-bottom: var(--space-3)}
.cpa-card>section{padding: 18px 22px;border-bottom:1px solid var(--bd)}
.cpa-card>section:last-child{border-bottom:none}

/* Auswertungs-Subblöcke (Skript-Fortschritt, Tipps, Replay) — innerhalb cpa-card */
.cpa-block{padding: 14px 22px;border-bottom:1px solid var(--bd)}
.cpa-block:last-child{border-bottom:none}
.cpa-block-h{font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;margin: 0 0 10px;display:flex;align-items:center;gap: 7px}

/* Hero — bleibt der einzige farbige Akzent (Score-Farbe semantisch) */
.cpa-hero{display:flex !important;align-items:center;gap: var(--space-5);padding: var(--space-5) 26px !important;border-left:4px solid var(--score-col,var(--ac))}
.cpa-hero-score{font-size:54px;font-weight:700;color:var(--score-col,var(--ac));line-height:1;font-family:'DM Sans',sans-serif;flex-shrink:0}
.cpa-hero-pct{font-size:24px;font-weight:600;color:var(--score-col,var(--ac));margin-left: 2px}
.cpa-hero-text{flex:1;min-width:0}
.cpa-hero-l{font-size:10px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin-bottom: 6px}
.cpa-hero-sum{font-size:14px;color:var(--tx);line-height:1.5;margin-bottom: 6px}
.cpa-hero-meta{font-size:11px;color:var(--tx3)}

/* Section-Header — alle gleich, dezent grau */
.cpa-h{font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;font-weight:700;margin: 0 0 var(--space-3)}

/* 2-Spalten-Inhalt innerhalb einer Section (z.B. Stärken | Verbesserungen) */
.cpa-row-2col{display:grid;grid-template-columns:1fr 1fr;gap: var(--space-6)}

/* Listen — Marker dezent grau statt farbig */
.cpa-list{list-style:none;padding: 0;margin: 0;display:flex;flex-direction:column;gap: 7px}
.cpa-list li{display:flex;gap: 9px;font-size:12.5px;color:var(--tx2);line-height:1.55}
.cpa-mark{flex-shrink:0;color:var(--tx3);font-weight:600;width:12px;text-align:center}

/* Steps — neutrale Counter-Kreise mit Border statt voll-gefüllter Pille */
.cpa-steps{list-style:none;padding: 0;margin: 0;counter-reset:s;display:flex;flex-direction:column;gap: 9px}
.cpa-steps li{display:flex;gap: 11px;font-size:12.5px;color:var(--tx2);line-height:1.5;counter-increment:s;align-items:flex-start}
.cpa-steps li::before{content:counter(s);width:22px;height:22px;border-radius: 50%;background:var(--sur3);border:1px solid var(--bd2);color:var(--tx2);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'DM Sans',sans-serif;margin-top: -1px}

/* E-Mail-Section */
.cpa-mail-h{display:flex;align-items:center;justify-content:space-between;margin-bottom: 10px;flex-wrap:wrap;gap: var(--space-2)}
.cpa-mail-h .cpa-h{margin: 0}
.cpa-mail-actions{display:inline-flex;gap: 6px}
.cpa-copy{font-size:10.5px;padding: var(--space-1) 11px}
.cpa-copy.cpa-mailto-pri{background:var(--ac);color:var(--ac-on);border-color:var(--ac);font-weight:600}
.cpa-copy.cpa-mailto-pri:hover{filter:brightness(1.06)}
.cpa-mail-subj{font-size:11.5px;color:var(--tx3);margin-bottom: var(--space-2)}
.cpa-mail-subj::before{content:'Betreff: ';color:var(--tx3);font-weight:600}
.cpa-mail-body{width:100%;background:var(--sur);border:1px solid var(--bd);border-radius: 7px;padding: 11px 13px;color:var(--tx2);font-size:12px;resize:vertical;min-height:96px;outline:none;line-height:1.55;font-family:inherit}
.cpa-mail-body:focus{border-color:var(--ac2)}

/* Zusammenfassung als kleine Section in der Karte */
.cpa-summary{font-size:12px;color:var(--tx3);font-style:italic;line-height:1.6}

/* Responsive */
@media (max-width:900px){
  .cpa-row-2col{grid-template-columns:1fr;gap: 18px}
  .cpa-hero{flex-direction:column;align-items:flex-start;gap: 10px}
  .cpa-hero-score{font-size:42px}
}

/* Details-Section (collapsible) */
.cpa-details{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-lg);overflow:hidden}
.cpa-details summary{padding: 11px var(--space-4);cursor:pointer;font-size:12px;font-weight:600;color:var(--tx2);list-style:none;display:flex;align-items:center;gap: var(--space-2);user-select:none}
.cpa-details summary::-webkit-details-marker{display:none}
.cpa-details summary::before{content:'›';color:var(--tx3);font-size:14px;transition:transform .2s}
.cpa-details[open] summary::before{transform:rotate(90deg)}
.cpa-details summary:hover{background:var(--sur3)}
.cpa-details-meta{font-weight:400;color:var(--tx3);font-size:11px}
.cpa-details-body{padding: 14px var(--space-4);border-top:1px solid var(--bd);display:flex;flex-direction:column;gap: 14px}
.cpa-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap: 10px}
.cpa-kpis>div{background:var(--sur3);border-radius: 7px;padding: 10px;text-align:center}
.cpa-kpi-v{display:block;font-size:18px;font-weight:700;color:var(--tx2);line-height:1}
.cpa-kpi-l{display:block;font-size:9.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;margin-top: var(--space-1)}
.cpa-details-grid{display:grid;grid-template-columns:1fr 1fr;gap: 14px}
.cpa-skript-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap: 10px;font-size:11.5px;color:var(--tx2);padding: 5px 0}
.cpa-skript-r{color:var(--tx3);font-size:10.5px;font-weight:500}
.cpa-skript-bar{height:4px;background:var(--sur3);border-radius: 2px;overflow:hidden}
.cpa-skript-bar i{display:block;height:100%;border-radius: 2px;transition:width .4s ease}
.cpa-replay{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap: 5px}
.cpa-replay-line{padding: 6px 9px;border-radius: 5px;font-size:11.5px;border-left:2px solid var(--bd2);background:var(--sur3);color:var(--tx2);line-height:1.5}
.cpa-replay-t{font-size:9.5px;color:var(--tx3);float:right;font-family:'DM Mono',monospace}

/* Responsive: bei schmalem Viewport zur Single-Column */
@media (max-width: 900px){
  .cpa-grid,.cpa-details-grid{grid-template-columns:1fr}
  .cpa-hero{flex-direction:column;align-items:flex-start;gap: var(--space-2)}
  .cpa-hero-score{font-size:40px}
  .cpa-kpis{grid-template-columns:repeat(2,1fr)}
}

/* PARTNER */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap: 11px}
.stamm-title{font-size:12px;font-weight:600;color:var(--tx2);margin-bottom: var(--space-4);padding-bottom: 10px;border-bottom:1px solid var(--bd)}
.stamm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap: 0}
.stamm-field{padding: 10px 0;border-bottom:1px solid var(--bd)}
.stamm-field:nth-last-child(-n+3){border-bottom:none}
.stamm-label{font-size:10px;color:var(--tx3);margin-bottom: 3px}
.stamm-value{font-size:12.5px;font-weight:500;color:var(--tx)}
.stamm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap: 0}
.stamm-grid-2 .stamm-field{border-bottom:1px solid var(--bd)}
.stamm-grid-2 .stamm-field:last-child,.stamm-grid-2 .stamm-field:nth-last-child(2){border-bottom:none}
/* DOK ITEMS */
.dok-item{display:flex;align-items:center;gap: var(--space-3);background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding: 13px var(--space-4);cursor:pointer;transition:border-color .12s}
.dok-item:hover{border-color:var(--bd2)}
.dok-icon{font-size:20px;flex-shrink:0;opacity:.5}
.dok-name{font-size:12.5px;font-weight:500;color:var(--tx)}
.dok-status{font-size:10.5px;margin-top: 2px}
.dok-status.ausstehend{color:var(--tx3)}
.dok-status.hochgeladen{color:var(--ac)}
/* BEREICHE ROWS */
.br-row{display:flex;align-items:flex-start;gap: var(--space-3);padding: var(--space-3) 0;border-bottom:1px solid var(--bd);cursor:pointer}
.br-row:last-child{border-bottom:none}
.br-row input{width:16px;height:16px;accent-color:var(--ac);margin-top: 2px;flex-shrink:0;cursor:pointer}
.br-name{font-size:12.5px;font-weight:500;color:var(--tx)}
.br-desc{font-size:10.5px;color:var(--tx3);margin-top: 2px}
/* ONBOARDING STEPS */
.ob-step{display:flex;align-items:center;gap: 14px;padding: 13px var(--space-4);background:var(--sur2);border:1px solid var(--bd);border-radius: 9px}
.ob-dot{width:28px;height:28px;border-radius: 50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;background:var(--sur3);color:var(--tx3);border:1px solid var(--bd)}
.ob-dot.done{background:rgba(74,222,128,.15);color:var(--ac);border-color:rgba(74,222,128,.3)}
.ob-title{font-size:12.5px;font-weight:500;color:var(--tx)}
.ob-desc{font-size:10.5px;color:var(--tx3);margin-top: 2px}
.ob-badge{margin-left: auto;font-size:10px;padding: 3px 9px;border-radius: 12px;flex-shrink:0}
.ob-badge.done{background:rgba(74,222,128,.1);color:var(--ac);border:1px solid rgba(74,222,128,.2)}
.ob-badge.pend{background:var(--sur3);color:var(--tx3);border:1px solid var(--bd)}

/* PIPELINE */
.pipeline-wrap{overflow-x:auto;padding-bottom: var(--space-4)}
.pipeline-board{display:flex;gap: var(--space-3);min-width:max-content;padding: var(--space-1) 2px}
.pl-col{width:210px;flex-shrink:0}
.pl-col-header{display:flex;align-items:center;justify-content:space-between;padding: var(--space-2) var(--space-3);border-radius: 8px 8px 0 0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom: var(--space-2)}
.pl-cnt{font-size:10px;background:rgba(255,255,255,.15);padding: 1px 7px;border-radius: var(--radius-lg);font-weight:700}
.pl-cards{min-height:80px;display:flex;flex-direction:column;gap: var(--space-2);padding: var(--space-1) 0}
.pl-col.drag-over .pl-cards{background:rgba(255,255,255,.03);border-radius: 8px;outline:2px dashed var(--bd2)}
.pl-card{background:var(--sur);border:1px solid var(--bd);border-radius: 9px;padding: 13px;cursor:grab;transition:all .15s;user-select:none}
.pl-card:hover{border-color:var(--bd2);transform:translateY(-1px)}
.pl-card.dragging{opacity:.5;cursor:grabbing}
.pl-card-title{font-size:12px;font-weight:600;color:var(--ac2);margin-bottom: 7px;line-height:1.4}
.pl-card-meta{font-size:11px;color:var(--tx2);margin-bottom: 3px}
.pl-card-meta span{color:var(--tx3)}
.pl-empty{text-align:center;padding: var(--space-4) var(--space-2);color:var(--tx3);font-size:11px;border:1px dashed var(--bd);border-radius: 8px}
/* KANBAN */
.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap: 11px}
.kcol{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 13px}
.ktitle{font-size:10.5px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;margin-bottom: 9px;display:flex;align-items:center;justify-content:space-between}
.kcard{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: 10px;margin-bottom: 6px}
.kcard-t{font-size:12px;font-weight:500;margin-bottom: var(--space-1)}
.kcard-m{font-size:10px;color:var(--tx3);display:flex;gap: 6px;align-items:center}
.pdot{width:5px;height:5px;border-radius: 50%;display:inline-block}
.pdot.h{background:var(--ac4)}.pdot.m{background:var(--ac3)}.pdot.l{background:var(--ac)}
/* Pipeline-Detail-Page nutzt jetzt das gemeinsame .det-page Slide-In-Pattern
   (siehe css/pages/details.css). Frühere Fullscreen-Regel entfernt für
   UI-Konsistenz mit Customer/Partner/Distribution. */

/* SETTINGS — Phase 4 Welle 3.F: Side-Nav-Items im Editorial-Stil.
   ac2 (Cyan) → ac (Olive) für Theme-Konsistenz, klarere Hover/Active-States. */
.setnav{border-right:1px solid var(--bd);padding: 14px 0}
.sni{
  padding: var(--space-2) var(--space-4);
  cursor:pointer;
  font:500 12.5px 'DM Sans',system-ui,sans-serif;
  color:var(--tx2);
  transition:all .15s;
  border-left:3px solid transparent;
  position:relative;
}
.sni:hover{color:var(--tx);background:rgba(213,217,96,.04)}
.sni.on{
  color:var(--ac);
  border-left-color:var(--ac);
  background:rgba(213,217,96,.06);
  font-weight:600;
}
.setcont{padding: var(--space-5) 28px}
.setsec{margin-bottom: 22px}
.setsect{
  font-family:'DM Mono',monospace;
  font-size:10.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--tx3);
  margin-bottom: 14px;
  padding-bottom: var(--space-2);
  border-bottom:1px solid var(--bd);
}

/* TRAINING */
.trgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap: 11px;margin-bottom: 18px}
.tricon{font-size:24px;margin-bottom: var(--space-2)}
.trtitle{font-size:13px;font-weight:600;margin-bottom: 3px}
.trdesc{font-size:11px;color:var(--tx3);line-height:1.5}
/* QUIZ */
.qwrap{max-width:580px;margin: 0 auto}
.qhead{display:flex;justify-content:space-between;align-items:center;margin-bottom: 18px}
.qprog{font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace}
.qtimer{font-size:16px;font-weight:600;color:var(--ac3);font-family:'DM Mono',monospace;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.22);padding: var(--space-1) var(--space-3);border-radius: var(--radius-md)}
.qtimer.danger{color:var(--ac4);background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.22)}
.qsteps{display:flex;gap: 3px;margin-bottom: 18px}
.qstep{flex:1;height:3px;border-radius: 2px;background:var(--sur3)}
.qstep.done{background:var(--ac)}.qstep.cur{background:var(--ac2)}
.qtxt{font-size:14.5px;font-weight:500;line-height:1.5;margin-bottom: var(--space-4)}
.qopts{display:flex;flex-direction:column;gap: 7px}
.qopt{padding: 11px 15px;border-radius: 8px;cursor:pointer;border:1px solid var(--bd);background:var(--sur2);font-size:12px;color:var(--tx2);transition:all .12s}
.qopt:hover{border-color:var(--bd2);color:var(--tx)}
.qopt.sel{border-color:var(--ac2);color:var(--ac2);background:rgba(34,211,238,.05)}
.qopt.correct{border-color:var(--ac);color:var(--ac);background:rgba(74,222,128,.06)}
.qopt.wrong{border-color:var(--ac4);color:var(--ac4);background:rgba(248,113,113,.06)}
.qnav{display:flex;gap: var(--space-2);margin-top: 18px}
.qres{text-align:center;padding: 28px 22px;background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg)}
.qscore{font-size:52px;font-weight:600;font-family:'DM Mono',monospace;background:linear-gradient(135deg,var(--ac),var(--ac2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom: 7px}

/* DISTRIBUTION */
.dist-table{width:100%;border-collapse:collapse;font-size:12.5px}
.dist-table th{text-align:left;padding: 10px var(--space-4);color:var(--tx3);font-weight:500;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--bd)}
.dist-table td{padding: 11px var(--space-4);border-bottom:1px solid var(--bd);color:var(--tx2);vertical-align:middle}
.dist-table tr:last-child td{border-bottom:none}
.dist-table tr:hover td{background:rgba(255,255,255,.018);color:var(--tx)}
/* Phase 4 Welle 3.P — Modal-Tokens vereinheitlicht (Light-Mode-konsistent),
   Editorial-Inputs mit AC-Glow-Focus statt orange-Border */
.nd-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);z-index:400;display:none;align-items:center;justify-content:center}
[data-theme="light"] .nd-overlay{background:rgba(0,0,0,.22)}
.nd-overlay.open{display:flex}
.nd-box{background:var(--sur);border:1px solid var(--bd);border-radius: 14px;padding: 28px;width:520px;max-height:85vh;overflow-y:auto;animation:pop .17s ease;box-shadow:0 12px 40px rgba(0,0,0,.35)}
[data-theme="light"] .nd-box{box-shadow:0 12px 40px rgba(0,0,0,.14)}
.nd-title{font-size:17px;font-weight:600;color:var(--tx);margin-bottom: 20px;display:flex;align-items:center;justify-content:space-between}
.nd-close{cursor:pointer;color:var(--tx3);font-size:20px;line-height:1;padding: var(--space-1) var(--space-2);border-radius: var(--radius-md);transition:all .15s}
.nd-close:hover{color:var(--tx);background:var(--sur2)}
.nd-group{margin-bottom: 14px}
.nd-label{font-family:'DM Mono',monospace;font-size:10.5px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;margin-bottom: 6px}
.nd-input{width:100%;background:var(--bg);border:1px solid var(--bd);border-radius: 8px;padding: 10px 14px;color:var(--tx);font:400 13.5px 'DM Sans',sans-serif;outline:none;transition:all .15s}
.nd-input:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(213,217,96,.15)}
.nd-input::placeholder{color:var(--tx3)}
.nd-email-row{display:grid;grid-template-columns:1fr 1.5fr;gap: var(--space-2);margin-bottom: var(--space-2)}
.nd-add-email{width:100%;padding: 10px;border-radius: 8px;border:1px solid var(--bd);background:transparent;color:var(--tx2);font-size:12px;cursor:pointer;transition:all .12s;display:flex;align-items:center;justify-content:center;gap: 6px}
.nd-add-email:hover{border-color:var(--bd2);color:var(--tx)}
/* Distribution-Detail-Page nutzt jetzt das gemeinsame .det-page Slide-In-
   Pattern (siehe css/pages/details.css). Frühere Fullscreen-Regel entfernt
   für UI-Konsistenz mit Customer/Pipeline/Partner. */
.dist-detail-grid{display:grid;grid-template-columns:1fr;gap: 14px;margin-bottom: 14px}

/* DET FIELDS — Phase 4 Welle 3.O */
.det-card{background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 18px;margin-bottom: 14px}
.det-card-title{
  font-family:'DM Mono',monospace;
  font-size:10.5px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:var(--tx3);
  margin-bottom: 14px;
  padding-bottom: var(--space-2);
  border-bottom:1px solid var(--bd);
}
.det-fields{display:grid;grid-template-columns:repeat(2,1fr);gap: 0 14px}
@media (min-width:760px){ .det-fields{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1100px){ .det-fields{grid-template-columns:repeat(4,1fr)} }
.det-field{padding: 9px 0;border-bottom:1px solid var(--bd);min-width:0}
.det-field-label{font-family:'DM Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--tx3);margin-bottom: 3px}
.det-field-value{font-size:12.5px;font-weight:500;color:var(--tx);overflow-wrap:break-word}
/* DETAIL PAGE — Phase 4 Welle 3.C.3: Side-Panel statt Fullscreen.
   Slide-In von rechts, Backdrop via ::before, ESC/Click-Outside in customer-panel.js */
.det-page{
  position:fixed;top:0;right:0;bottom:0;
  width:min(640px, 96vw);
  background:var(--bg);
  border-left:1px solid var(--bd);
  box-shadow:-12px 0 40px rgba(0,0,0,.35);
  z-index:150;
  overflow-y:auto;
  padding: 22px var(--space-5);
  transform:translateX(100%);
  transition:transform .25s ease;
  visibility:hidden;
}
.det-page.open{
  transform:translateX(0);
  visibility:visible;
}
/* X-Close-Button für Slide-In-Header (Standard für alle .det-page) */
.det-panel-close{
  background:transparent;border:0;color:var(--tx3);
  width:32px;height:32px;font-size:22px;line-height:1;cursor:pointer;
  border-radius: var(--radius-md);padding: 0;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .12s,color .12s;
}
.det-panel-close:hover{background:var(--sur2);color:var(--tx)}
/* Zweite Slide-In-Ebene: rückt nach links neben das erste Panel statt zu
   überlagern. Wird per JS gesetzt (rmcOpen/closeRmc), wenn ein Panel über
   einem anderen geöffnet wird (z.B. Mail-Composer aus Pipeline). */
.det-page.is-stacked{
  right:min(720px, calc(100vw - 380px));   /* 640 Pipeline + 28 Tab + ~50 Spalt damit Tabs klar sichtbar */
  transition:transform .25s ease, right .2s ease;
  z-index:155;
  padding: 0;                       /* Header sitzt bei y=0 wie beim Pipeline-Panel — keine Versatz-Linie */
  display:flex;flex-direction:column;
}
/* Cascade-Header (.usr-panel-head) gleichen Höhe + Stil wie Pipeline-Header
   (.rp-detail-head) — damit beide Slide-Ins auf einer Höhe enden. */
.det-page.is-stacked .usr-panel-head{
  padding: var(--space-2) 22px;min-height:52px;
  border-bottom:1px solid var(--bd);
  background:var(--sur);
  flex-shrink:0;box-sizing:border-box;
  align-items:center;
}
.det-page.is-stacked .usr-panel-head h3{font-size:14px;line-height:1.2}
.det-page.is-stacked .usr-panel-eyebrow{margin-bottom: 2px;font-size:9.5px}
.det-page.is-stacked .usr-panel-body{padding: 18px 22px var(--space-5)}
/* Wenn ein Cascade-Panel offen ist, NUR Pipeline-Inhalt dimmen — Side-Tabs
   bleiben voll sichtbar + klickbar (User-Wunsch). */
body.has-stacked-panel #rp-detail-panel .rp-detail-head,
body.has-stacked-panel #rp-detail-panel .rp-detail-body{
  opacity:.45;
  filter:saturate(.6);
  pointer-events:none;
  transition:opacity .2s, filter .2s;
}
body.has-stacked-panel #rp-detail-panel .rp-side-tabs{
  pointer-events:auto;   /* Tab-Klicks weiter funktionieren */
}
/* Composer-Templates-Popover (am unteren Rand) */
.rmc-templates{
  margin-top: 10px;padding: 14px;background:var(--sur);
  border:1px solid var(--bd);border-radius: 8px;
}
.rmc-templates-hint{font-size:11.5px;color:var(--tx3);font-style:italic;text-align:center}
.rmc-templates-list{display:flex;flex-direction:column;gap: var(--space-1);max-height:280px;overflow-y:auto}
.rmc-template-item{
  display:flex;align-items:center;justify-content:space-between;gap: 10px;
  background:var(--bg);border:1px solid var(--bd);border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3);cursor:pointer;transition:all .12s;font-family:inherit;
  text-align:left;
}
.rmc-template-item:hover{border-color:var(--ac);background:var(--sur2)}
.rmc-template-name{font-size:13px;color:var(--tx);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rmc-template-badge{
  font-family:'DM Mono',monospace;font-size:9.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;color:var(--tx3);
  background:var(--sur2);padding: 2px 6px;border-radius: 8px;flex-shrink:0;
}
@media (max-width: 1100px){
  .det-page.is-stacked{ right:0; box-shadow:-20px 0 50px rgba(0,0,0,.55); }
}
/* Backdrop dahinter — als ::before des body via data-attribute oder als
   eigenes Element steuern. Hier: separates Element wird im JS angelegt
   (.det-page-backdrop) — siehe js/features/customer-panel.js */
.det-page-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,.45);
  backdrop-filter:blur(2px);
  z-index:140;opacity:0;pointer-events:none;
  transition:opacity .25s;
}
.det-page-backdrop.open{opacity:1;pointer-events:auto}

.det-wrap{max-width:100%;margin: 0 auto}

/* Grid: default single-column (für Side-Panel <800px), 2-Spalten ab 800px */
.det-grid{display:grid;grid-template-columns:1fr;gap: 14px}
@media (min-width: 800px){ .det-grid{grid-template-columns:1fr 280px} }

/* Light-Mode Backdrop: dezenter */
[data-theme="light"] .det-page-backdrop{background:rgba(0,0,0,.18)}
[data-theme="light"] .det-page{box-shadow:-8px 0 28px rgba(0,0,0,.12)}

/* pm-panel hat eigene innere Padding-Struktur (Sections mit padding:16px 20px,
   Headers, etc.) — die .det-page-22px-24px-Padding würde extra Innenrand
   draufpacken. Override auf 0, Sections kümmern sich selbst. */
.det-page#pm-panel{padding: 0}
.det-kdnr{font-size:15px;font-weight:700;color:var(--ac3);font-family:'DM Mono',monospace}
.det-kname{font-size:18px;font-weight:600;color:var(--tx)}
.det-kmeta{font-size:11.5px;color:var(--tx3);margin-top: var(--space-1)}
.prov-label{font-size:11px;color:var(--tx2);margin-bottom: 6px}
.prov-value{font-size:24px;font-weight:700;color:var(--ac3);font-family:'DM Mono',monospace}
.prov-row{display:flex;justify-content:space-between;padding: 7px 0;border-bottom:1px solid var(--bd);font-size:12px}
.prov-row:last-child{border-bottom:none}
.zahlung-badge{display:flex;align-items:center;gap: 6px;padding: 6px 14px;border-radius: 20px;font-size:12px;font-weight:500;margin: var(--space-3) auto;width:fit-content}
.zahlung-badge.ausstehend{background:rgba(245,158,11,.1);color:var(--ac3);border:1px solid rgba(245,158,11,.25)}
.zahlung-badge.bezahlt{background:rgba(74,222,128,.1);color:var(--ac);border:1px solid rgba(74,222,128,.25)}
/* NEUER AUFTRAG */
.na-page{display:none;position:fixed;inset:0;background:var(--bg);z-index:150;overflow-y:auto;padding: var(--space-5)}
.na-page.open{display:block}
.na-back{display:flex;align-items:center;gap: var(--space-2);font-size:12px;color:var(--tx2);cursor:pointer;margin-bottom: 20px;transition:color .12s}
.na-back:hover{color:var(--tx)}
.na-grid{display:grid;grid-template-columns:1fr 300px;gap: var(--space-4);max-width:1100px;margin: 0 auto}
.na-row{display:grid;gap: var(--space-3);margin-bottom: 14px}
.na-row.cols2{grid-template-columns:1fr 1fr}.na-row.cols3{grid-template-columns:1fr 1fr 1fr}.na-row.cols1{grid-template-columns:1fr}
.na-group{display:flex;flex-direction:column;gap: 5px}
.na-label{font-size:10.5px;color:var(--tx3);font-weight:500}
.na-input{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: var(--space-2) var(--space-3);color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;outline:none;width:100%;transition:border-color .12s}
.na-input:focus{border-color:var(--bd2)}.na-input::placeholder{color:var(--tx3)}
.na-select{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: var(--space-2) var(--space-3);color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;outline:none;width:100%;cursor:pointer}
.na-checkbox-row{display:flex;align-items:center;gap: var(--space-2);font-size:12px;color:var(--tx2);cursor:pointer;margin-top: var(--space-1)}
.na-checkbox-row input{width:14px;height:14px;accent-color:var(--ac);cursor:pointer}
.na-energie-btn{display:flex;align-items:center;gap: 6px;padding: 7px 14px;border-radius: 7px;border:1px solid var(--bd);background:var(--sur2);color:var(--tx2);font-size:12px;cursor:pointer;transition:all .12s}
.na-energie-btn.on{border-color:var(--ac2);color:var(--ac2);background:rgba(34,211,238,.07)}
.na-energie-btns{display:flex;gap: var(--space-2);flex-wrap:wrap}
.na-prov-card{background:var(--sur2);border:1px solid var(--bd);border-radius: 9px;padding: var(--space-4);margin-bottom: var(--space-3);text-align:center}
.na-save-btn{width:100%;padding: 13px;border-radius: 8px;border:1px solid rgba(74,222,128,.3);cursor:pointer;background:rgba(74,222,128,.12);color:var(--ac);font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap: var(--space-2);transition:all .12s}
.na-save-btn:hover{background:rgba(74,222,128,.2)}
/* DIST DETAIL */
/* PIPELINE DETAIL */
.notizen-input{width:100%;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: 10px var(--space-3);color:var(--tx);font-size:12px;font-family:'DM Sans',sans-serif;resize:vertical;min-height:80px;outline:none}
.notizen-input:focus{border-color:var(--bd2)}
.notizen-send{width:34px;height:34px;border-radius: 7px;border:none;cursor:pointer;background:var(--ac3);color:#0f1117;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
/* PARTNER DETAIL TABS */

/* Contacts-Page — Unified Liste Leads + Customers. */

#p-contacts .n-toolbar{display:flex;justify-content:space-between;align-items:center;gap: var(--space-3);margin: 10px 0 14px;flex-wrap:wrap}
#p-contacts .n-toolbar-l{display:flex;gap: var(--space-2);flex:1;min-width:0}
#p-contacts .n-toolbar-r{display:flex;gap: 6px;align-items:center;flex-wrap:wrap}

.n-card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap: 10px}

.cn-card{padding: var(--space-3) 14px;background:var(--sur);border:1px solid var(--bd);border-radius: 9px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.cn-card:hover{border-color:var(--bd2);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}
.cn-card-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom: 6px;gap: var(--space-2)}
.cn-card-name{font-size:13.5px;font-weight:600;color:var(--tx);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cn-stage{font-size:10.5px;font-weight:600;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}
.cn-card-m{font-size:10.5px;color:var(--tx3);display:flex;gap: 5px;align-items:center;flex-wrap:wrap;font-family:'DM Mono',monospace}
.cn-score{margin-left: auto;color:var(--ac);font-weight:600;background:rgba(122,128,36,.1);padding: 2px 7px;border-radius: 5px}

.cn-empty{padding: 30px;text-align:center;font-size:12px;color:var(--tx3);font-style:italic;border:1px dashed var(--bd);border-radius: var(--radius-lg)}

/* Slide-In Editor (cn-edit-panel) — analog .ch-contract-editor */
.cn-editor{display:flex;flex-direction:column;gap: 10px}
.cn-editor label{display:flex;flex-direction:column;gap: var(--space-1);font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.cn-editor input,
.cn-editor select{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: var(--space-2) 10px;color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .15s;text-transform:none;letter-spacing:0;font-weight:400}
.cn-editor input:focus,
.cn-editor select:focus{border-color:var(--ac)}
.cn-edit-row{display:grid;grid-template-columns:1fr 1fr;gap: 10px}
.cn-edit-row label{margin: 0}
.cn-editor-foot{display:flex;gap: 6px;justify-content:flex-end;margin-top: 6px}

/* Phase-Pills oben — analog ch-tabs */
#contacts-phase-filter{display:flex;gap: 5px;flex-wrap:wrap}
#contacts-phase-filter .n-pill{font-size:11.5px;padding: 5px var(--space-3)}

/* WhatsApp-API Setup-Page — System → API → WhatsApp. */
#p-api-whatsapp .tcard code { font-family: 'DM Mono', ui-monospace, monospace; }
#p-api-whatsapp .n-pill { padding: var(--space-1) 9px; border-radius: 12px; font-size:11px; font-weight:500; display:inline-flex; align-items:center; gap: 5px}

/* WhatsApp-Verify-Modal — Backdrop + Card (Slide-In von der Mitte). */
.wa-verify-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:9000;backdrop-filter:blur(2px)}
.wa-verify-card{background:var(--sur);border:1px solid var(--bd);border-radius: 12px;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 22px 60px rgba(0,0,0,.4);animation:waVerifyIn .18s ease-out}
@keyframes waVerifyIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

.wa-verify-head{display:flex;align-items:flex-start;justify-content:space-between;padding: 18px 20px var(--space-2);border-bottom:1px solid var(--bd)}
.wa-verify-eyebrow{font-size:10.5px;font-weight:500;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;margin-bottom: 3px}
.wa-verify-title{font-size:16px;font-weight:600;color:var(--tx);margin: 0}
.wa-verify-x{background:transparent;border:none;color:var(--tx3);font-size:22px;line-height:1;cursor:pointer;padding: var(--space-1) var(--space-2);border-radius: var(--radius-md);transition:background .12s}
.wa-verify-x:hover{background:var(--sur2);color:var(--tx)}

.wa-verify-body{padding: var(--space-4) 20px 20px}
.wa-verify-desc{font-size:12.5px;color:var(--tx2);line-height:1.55;margin: 0 0 14px}
.wa-verify-label{display:block;font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;margin-bottom: 6px;font-weight:500}
.wa-verify-input{width:100%;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: 9px var(--space-3);color:var(--tx);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .12s;box-sizing:border-box}
.wa-verify-input:focus{border-color:var(--ac)}
.wa-verify-code{font-size:18px;letter-spacing:.4em;text-align:center;font-family:'DM Mono',ui-monospace,monospace}

.wa-verify-actions{display:flex;gap: var(--space-2);justify-content:flex-end;margin-top: 14px}
.wa-verify-btn{padding: var(--space-2) 14px;border-radius: 7px;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;border:1px solid var(--bd);background:var(--sur2);color:var(--tx);transition:all .12s}
.wa-verify-btn:hover{border-color:var(--bd2)}
.wa-verify-btn.primary{background:var(--ac);color:var(--ac-on);border-color:var(--ac);font-weight:500}
.wa-verify-btn.primary:hover{filter:brightness(1.05)}
.wa-verify-btn.ghost{background:transparent}
.wa-verify-btn:disabled{opacity:.5;cursor:not-allowed}

.wa-verify-msg{margin-top: 10px;font-size:11.5px;color:var(--ac4);min-height:14px}
.wa-verify-mock-hint{margin-bottom: var(--space-3);padding: 9px var(--space-3);background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);border-radius: 7px;font-size:11.5px;color:var(--tx2);line-height:1.45}

.wa-verify-success{text-align:center;padding: 10px 0}
.wa-verify-success-icon{width:44px;height:44px;border-radius: 50%;background:var(--ac);color:var(--ac-on);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;margin: 0 auto 10px}
.wa-verify-success-title{font-size:15px;font-weight:600;color:var(--tx);margin-bottom: var(--space-1)}
.wa-verify-success-phone{font-size:12.5px;color:var(--tx2);font-family:'DM Mono',ui-monospace,monospace;margin-bottom: 14px}

/* ContactHub-Setup-Page (System → ContactHub-Setup). */
#p-contacthub-setup .ch-setup-row{display:flex;align-items:center;gap: 10px;padding: 10px 0;border-bottom:1px solid var(--bd)}
#p-contacthub-setup .ch-setup-row:last-child{border-bottom:0}
#p-contacthub-setup .ch-setup-row .n-btn{flex-shrink:0;padding: 5px 10px;border-radius: var(--radius-md);background:var(--sur2);border:1px solid var(--bd);color:var(--tx);cursor:pointer;font-family:'DM Sans',sans-serif;transition:border-color .12s}
#p-contacthub-setup .ch-setup-row .n-btn:hover{border-color:var(--bd2)}
#p-contacthub-setup .n-btn-primary{background:var(--ac);color:var(--ac-on);border-color:var(--ac);padding: 7px 13px;font-size:12px;border-radius: 7px;font-family:'DM Sans',sans-serif;cursor:pointer;font-weight:500}
#p-contacthub-setup .n-btn-primary:hover{filter:brightness(1.05)}
#p-contacthub-setup code{font-family:'DM Mono',ui-monospace,monospace;background:var(--sur2);padding: 1px 5px;border-radius: 3px;font-size:.92em}

/* Posteingang-Page — Liste + Detail-Slide-In. */
#p-incoming-mails .inc-row{display:grid;grid-template-columns:240px 1fr 200px;gap: var(--space-3);padding: 10px 18px;border-bottom:1px solid var(--bd);cursor:pointer;transition:background .12s;align-items:center}
#p-incoming-mails .inc-row:hover{background:var(--sur2)}
#p-incoming-mails .inc-row:last-child{border-bottom:0}
#p-incoming-mails .inc-row-from{font-weight:500;font-size:13px;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#p-incoming-mails .inc-row-sub{font-size:12.5px;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#p-incoming-mails .inc-row-meta{font-size:11px;color:var(--tx3);text-align:right}
#p-incoming-mails .inc-unread{background:rgba(74,222,128,.06)}
#p-incoming-mails .inc-unread .inc-row-from{color:var(--ac)}
#p-incoming-mails .inc-match{color:var(--ac)}
#p-incoming-mails .inc-unmatched{color:var(--ac3)}

#p-incoming-mails .inc-det-meta{padding: 14px 18px;border-bottom:1px solid var(--bd);font-size:12px;color:var(--tx2);line-height:1.7}
#p-incoming-mails .inc-det-meta strong{color:var(--tx);min-width:90px;display:inline-block}
#p-incoming-mails .inc-det-body{padding: 0;color:var(--tx);max-height:60vh;overflow:auto;background:var(--sur2);border-radius: 7px;margin: 14px 18px}
#p-incoming-mails .inc-text{padding: 14px 18px;font-family:'DM Mono',ui-monospace,monospace;font-size:12px;white-space:pre-wrap;line-height:1.55;margin: 0;color:var(--tx)}
#p-incoming-mails .inc-html{padding: 14px 18px;font-size:13px;line-height:1.55;color:var(--tx);background:var(--sur);border-radius: 5px;margin: 6px}
#p-incoming-mails .inc-html *{max-width:100% !important}
#p-incoming-mails .inc-html img{max-width:100%;height:auto;border-radius: 5px}
#p-incoming-mails .inc-html a{color:var(--ac)}
#p-incoming-mails .inc-html table{border-collapse:collapse;max-width:100%}
#p-incoming-mails .inc-html pre{background:var(--sur2);padding: var(--space-2);border-radius: var(--radius-sm);overflow:auto}
#p-incoming-mails .inc-det-actions{padding: 14px 18px;display:flex;gap: var(--space-2);border-top:1px solid var(--bd);background:var(--sur)}

/* Kontakt-Picker — Slide-In Modal von rechts. */
.cp-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:flex-end;z-index:9200;backdrop-filter:blur(2px)}
.cp-panel{background:var(--sur);width:min(520px,calc(100vw - 32px));height:100vh;display:flex;flex-direction:column;border-left:1px solid var(--bd);box-shadow:-10px 0 40px rgba(0,0,0,.35);animation:cpIn .18s ease-out}
@keyframes cpIn{from{transform:translateX(20px);opacity:0}to{transform:none;opacity:1}}
.cp-head{display:flex;align-items:center;justify-content:space-between;padding: 14px 18px;border-bottom:1px solid var(--bd)}
.cp-title{margin: 0;font-size:14px;font-weight:600;color:var(--tx)}
.cp-x{background:transparent;border:0;color:var(--tx3);font-size:22px;line-height:1;cursor:pointer;padding: var(--space-1) var(--space-2);border-radius: var(--radius-md)}
.cp-x:hover{background:var(--sur2);color:var(--tx)}
.cp-body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding: 14px 18px}
.cp-search{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: 9px var(--space-3);color:var(--tx);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;margin-bottom: 11px}
.cp-search:focus{border-color:var(--ac)}
.cp-list{flex:1;overflow:auto;border:1px solid var(--bd);border-radius: 7px;background:var(--sur2)}
.cp-row{padding: 9px var(--space-3);border-bottom:1px solid var(--bd);cursor:pointer;transition:background .12s}
.cp-row:hover{background:var(--sur3)}
.cp-row:last-child{border-bottom:0}
.cp-row-name{font-size:13px;font-weight:500;color:var(--tx)}
.cp-row-meta{font-size:11px;color:var(--tx3);margin-top: 2px}
.cp-empty{padding: var(--space-5);text-align:center;color:var(--tx3);font-size:12.5px}

/* Kosten & Tools Page — Tabelle + Action-Banner. */
#p-kosten-tools .kt-banner{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.35)}

#p-kosten-tools .kt-table{width:100%;border-collapse:collapse;font-size:12px}
#p-kosten-tools .kt-table th{text-align:left;padding: 10px var(--space-3);background:var(--sur2);color:var(--tx3);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;border-bottom:1px solid var(--bd);position:sticky;top:0}
#p-kosten-tools .kt-table td{padding: 10px var(--space-3);border-bottom:1px solid var(--bd);color:var(--tx2);vertical-align:top;line-height:1.45}
#p-kosten-tools .kt-table td:first-child{color:var(--tx)}
#p-kosten-tools .kt-table tr.kt-group td{background:var(--sur2);color:var(--ac);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding: 7px var(--space-3)}
#p-kosten-tools .kt-table tr:last-child td{border-bottom:0}

#p-kosten-tools .kt-pill{display:inline-block;padding: 3px 9px;border-radius: 11px;font-size:10.5px;font-weight:500;white-space:nowrap}
#p-kosten-tools .kt-pill.kt-ok{background:rgba(74,222,128,.15);color:var(--ac)}
#p-kosten-tools .kt-pill.kt-warn{background:rgba(245,158,11,.15);color:var(--ac3)}
#p-kosten-tools .kt-pill.kt-todo{background:rgba(248,113,113,.15);color:var(--ac4)}

/* System-Status — Container-Styles für die zusammengeführte Page.
   Sub-Sections nutzen plattform-CSS (tcard / ecard / btn / n-pills / edot).
   Hier nur Layout + Tab-spezifisches. */

/* Tab-Leiste: dünn, ohne Pill-Background, mit Underline beim aktiven Tab.
   Analog zu .ch-tabs im ContactHub damit System-Pages visuell konsistent. */
#p-system-status .ss-tabs{
  display:flex;gap: 18px;align-items:center;
  padding: 2px 0 10px;margin-bottom: 20px;
  border-bottom:1px solid var(--bd2);overflow-x:auto
}
#p-system-status .ss-tabs .n-pill{
  background:transparent;border:0;border-radius: 0;padding: var(--space-2) 2px;
  color:var(--tx3);font-weight:500;font-size:12.5px;position:relative;
  transition:color .12s;cursor:pointer
}
#p-system-status .ss-tabs .n-pill:hover{color:var(--tx);border:0}
#p-system-status .ss-tabs .n-pill.on{color:var(--ac)}
#p-system-status .ss-tabs .n-pill.on::after{
  content:'';position:absolute;left:0;right:0;bottom:-11px;
  height:2px;background:var(--ac);border-radius:1px
}

/* Panel-Switch */
#p-system-status .ss-panel{display:none}
#p-system-status .ss-panel.is-active{display:block}

/* Empty-Hint (Diagnose-Vorschau) */
#p-system-status .ss-empty-hint{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 20px;color:var(--tx2);font-size:12.5px;line-height:1.6
}
#p-system-status .ss-empty-hint ul{margin: 10px 0 0 22px}

/* ── Monitoring-Tab ─────────────────────────────────────────────────── */
#p-system-status .ss-live-badge{
  display:flex;align-items:center;gap: 5px;
  font-size:11px;color:var(--ac);
  background:rgba(213,217,96,0.1);
  border:1px solid rgba(213,217,96,0.25);
  padding: 5px var(--space-3);border-radius:20px
}
#p-system-status .ss-live-dot{
  width:6px;height:6px;border-radius: 50%;background:var(--ac);
  animation:cpPulse 1.5s infinite
}

#p-system-status .ss-kpi-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap: var(--space-3);margin-bottom:20px
}
#p-system-status .ss-kpi{padding: var(--space-4)}
#p-system-status .ss-kpi-l{
  font-size:10px;color:var(--tx3);text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:4px
}
#p-system-status .ss-kpi-v{font-size:26px;font-weight:700;color:var(--tx)}
#p-system-status .ss-kpi-v.ac{color:var(--ac)}
#p-system-status .ss-kpi-v.ac3{color:var(--ac3)}
#p-system-status .ss-kpi-v.small{font-size:20px}
#p-system-status .ss-kpi-s{font-size:11px;color:var(--tx3)}

#p-system-status .ss-2col{display:grid;grid-template-columns:1fr 1fr;gap: var(--space-4)}
#p-system-status .ss-mb{margin-bottom: var(--space-4)}
#p-system-status .ss-admin-tag{font-size:9px;color:var(--tx3)}

#p-system-status .ss-uptime-axis{
  font-size:10px;color:var(--tx3);margin-bottom: 6px;
  display:flex;justify-content:space-between
}
#p-system-status .ss-uptime-bar{display:flex;gap: 2px}
#p-system-status .ss-uptime-legend{
  display:flex;gap: var(--space-3);margin-top: var(--space-2);font-size:10px;color:var(--tx3)
}
#p-system-status .ss-leg-dot{
  display:inline-block;width:10px;height:10px;border-radius: 2px;
  margin-right: 3px;vertical-align:middle
}
#p-system-status .ss-leg-dot.ok{background:rgba(74,222,128,0.6)}
#p-system-status .ss-leg-dot.warn{background:rgba(251,191,36,0.5)}
#p-system-status .ss-leg-dot.err{background:rgba(248,113,113,0.6)}
#p-system-status .ss-errorlog{max-height:200px;overflow-y:auto}

@media (max-width: 900px){
  #p-system-status .ss-2col{grid-template-columns:1fr}
}

/* ── Deployment-Tab ─────────────────────────────────────────────────── */
#p-system-status .ss-deploy-grid{
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap: 10px;margin-bottom:16px
}
#p-system-status .ss-deploy-version{margin-top: var(--space-2);font-size:11px;color:var(--tx3)}
#p-system-status .ss-deploy-auto{
  border:1px solid rgba(74,222,128,.25);background:rgba(74,222,128,.04)
}
#p-system-status .ss-deploy-info{
  font-size:11.5px;color:var(--tx2);margin: 6px 0 10px;line-height:1.5
}
#p-system-status .ss-deploy-btn{flex:1;padding: 9px;font-size:12.5px;font-weight:600}
#p-system-status .ss-deploy-btn-icon{padding: 9px var(--space-3);font-size:12px}
#p-system-status .ss-deploy-status{margin-top: var(--space-2);font-size:11.5px;color:var(--tx3);min-height:16px}
#p-system-status .ss-deploy-stats{
  display:grid;grid-template-columns:1fr 1fr;gap: var(--space-2);margin-top:8px
}
#p-system-status .ss-deploy-stats > div{text-align:center}
#p-system-status .ss-deploy-stat-v{font-size:22px;font-weight:700;color:var(--tx)}
#p-system-status .ss-deploy-stat-v.ac{color:var(--ac)}
#p-system-status .ss-deploy-stat-l{font-size:10px;color:var(--tx3)}
#p-system-status .ss-deploy-stat-time{margin-top: var(--space-2);font-size:11px;color:var(--tx3)}

#p-system-status .ss-deploy-hist-h{
  display:flex;align-items:baseline;gap: 14px;margin:24px 0 12px
}
#p-system-status .ss-deploy-hist-h h3{
  font-size:14px;font-weight:600;color:var(--tx);margin: 0;letter-spacing:-0.005em
}
#p-system-status .ss-deploy-hist-cnt{
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3)
}
#p-system-status .ss-deploy-hist-loading{
  color:var(--tx3);font-size:12px;padding: 20px;text-align:center
}

/* Repowering — folgt dem Contacts-Page-Pattern (KPI + Status-Pills + Filter +
   Liste/Cards + Pagination). Eigene Klassen NUR für Slide-In Detail + Maps. */

/* Mode-Switch (Akquise / Vertrieb) — eine Pipeline, zwei Filter-Sätze. */
#p-repowering .rp-mode, #p-kd-dms-orders .rp-mode, #p-kundenuebersicht .rp-mode{
  display:inline-flex;background:var(--sur);border:1px solid var(--bd);
  border-radius: var(--radius-lg);padding: var(--space-1);gap: var(--space-1);margin-bottom: 10px;
}
#p-repowering .rp-mode-pill, #p-kd-dms-orders .rp-mode-pill, #p-kundenuebersicht .rp-mode-pill{
  background:transparent;border:0;color:var(--tx3);
  padding: 7px 18px;border-radius: 7px;font-size:12.5px;font-weight:600;
  font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .12s;
}
#p-repowering .rp-mode-pill:hover, #p-kd-dms-orders .rp-mode-pill:hover, #p-kundenuebersicht .rp-mode-pill:hover{background:var(--sur2);color:var(--tx2)}
#p-repowering .rp-mode-pill.on, #p-kd-dms-orders .rp-mode-pill.on, #p-kundenuebersicht .rp-mode-pill.on{background:var(--ac);color:var(--bg)}
#p-repowering .rp-mode-pill[hidden], #p-kd-dms-orders .rp-mode-pill[hidden], #p-kundenuebersicht .rp-mode-pill[hidden]{display:none}
/* Mode-Bar versteckt sich automatisch wenn nur EINE Pill sichtbar ist (kein
   Sinn in einem Single-Choice-Switch) — gesteuert über Body-Klassen oder
   inline. Default: beide sichtbar wenn User beide Permissions hat. */


#p-repowering .rp-col-num, #p-kd-dms-orders .rp-col-num, #p-kundenuebersicht .rp-col-num{text-align:right;font-family:'DM Mono',monospace}
#p-repowering .rp-col-check, #p-kd-dms-orders .rp-col-check, #p-kundenuebersicht .rp-col-check{width:32px;padding-left: var(--space-2);padding-right: 0}
/* Bulk-Spalte/Header nur sichtbar wenn Page im Bulk-Modus ist */
#p-repowering:not(.is-bulk-mode) .rp-bulk-only, #p-kd-dms-pipeline:not(.is-bulk-mode) .rp-bulk-only {display:none}
#p-repowering .rp-row-check, #p-kd-dms-orders .rp-row-check, #p-kundenuebersicht .rp-row-check, , #p-kd-dms-orders #rp-check-all, #p-kundenuebersicht #rp-check-all{cursor:pointer;width:15px;height:15px;accent-color:var(--ac)}
#p-repowering tr.is-bulk-on, #p-kd-dms-orders tr.is-bulk-on, #p-kundenuebersicht tr.is-bulk-on{background:rgba(213,217,96,.08)}
#p-repowering tr.is-bulk-on td, #p-kd-dms-orders tr.is-bulk-on td, #p-kundenuebersicht tr.is-bulk-on td{border-left:0}
#p-repowering .rp-assigned, #p-kd-dms-orders .rp-assigned, #p-kundenuebersicht .rp-assigned{
  display:inline-block;padding: 2px var(--space-2);border-radius: var(--radius-lg);
  background:rgba(86,107,134,.12);color:var(--ac2);font-size:10.5px;font-weight:500;
  max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
#p-repowering .rp-unassigned, #p-kd-dms-orders .rp-unassigned, #p-kundenuebersicht .rp-unassigned{color:var(--tx3);font-size:11px}

/* ── Editorial Header-Row: KPI-Chips · Filter-Pills · Icon-Toggles ── */
#p-repowering .rp-head, #p-kd-dms-orders .rp-head, #p-kundenuebersicht .rp-head{
  display:flex;align-items:center;gap: 18px;flex-wrap:wrap;
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 10px 14px;margin-bottom:10px
}
/* Tick-Spalten Solar + MaStR — kompakte Status-Symbole statt Pills.
   ✓ = vorhanden (grün), ∅ = nicht (rot), ? = unbekannt (grau). */
#p-repowering .rp-col-tick, #p-kd-dms-orders .rp-col-tick, #p-kundenuebersicht .rp-col-tick{text-align:center;width:60px;padding-left: 6px;padding-right: 6px}
#p-repowering .rp-anl-badge, #p-kd-dms-orders .rp-anl-badge, #p-kundenuebersicht .rp-anl-badge{
  font-family:'DM Mono',monospace;font-size:12px;color:var(--tx2);
  cursor:help
}
#p-repowering .rp-tick, #p-kd-dms-orders .rp-tick, #p-kundenuebersicht .rp-tick{
  display:inline-block;font-family:'DM Mono',monospace;font-size:14px;
  font-weight:600;line-height:1;color:var(--tx3);
}
/* Tick-Farben neutral — User-Wunsch 2026-05-18 „zurueckhaltend". */
#p-repowering .rp-tick.is-yes, #p-kd-dms-orders .rp-tick.is-yes, #p-kundenuebersicht .rp-tick.is-yes{color:var(--tx)}
#p-repowering .rp-tick.is-no, #p-kd-dms-orders .rp-tick.is-no, #p-kundenuebersicht .rp-tick.is-no{color:var(--tx3)}
#p-repowering .rp-tick.is-unknown, #p-kd-dms-orders .rp-tick.is-unknown, #p-kundenuebersicht .rp-tick.is-unknown{color:var(--tx3)}

/* Sortierbare Spalten-Header: Klick auf <th data-rp-sort> toggelt
   asc → desc → off. Indikator-Pfeil rechts daneben. */
#p-repowering th.rp-sortable, #p-kd-dms-orders th.rp-sortable, #p-kundenuebersicht th.rp-sortable{cursor:pointer;user-select:none}
#p-repowering th.rp-sortable:hover, #p-kd-dms-orders th.rp-sortable:hover, #p-kundenuebersicht th.rp-sortable:hover{color:var(--tx)}
#p-repowering th.rp-sortable::after, #p-kd-dms-orders th.rp-sortable::after, #p-kundenuebersicht th.rp-sortable::after{
  content:'';display:inline-block;width:7px;margin-left: 5px;color:var(--tx3);
}
#p-repowering th.rp-sortable.is-sort-asc::after, #p-kd-dms-orders th.rp-sortable.is-sort-asc::after, #p-kundenuebersicht th.rp-sortable.is-sort-asc::after{content:'▲';font-size:8px}
#p-repowering th.rp-sortable.is-sort-desc::after, #p-kd-dms-orders th.rp-sortable.is-sort-desc::after, #p-kundenuebersicht th.rp-sortable.is-sort-desc::after{content:'▼';font-size:8px}

/* Board-View (Kanban) — Spalten pro Status, mode-spezifisch. */
#p-repowering .rp-boardwrap, #p-kd-dms-orders .rp-boardwrap, #p-kundenuebersicht .rp-boardwrap{padding: 0;margin-top: var(--space-3)}
#p-repowering .rp-board, #p-kd-dms-orders .rp-board, #p-kundenuebersicht .rp-board{
  display:flex;gap: 14px;overflow-x:auto;padding-bottom: var(--space-3);
  min-height:calc(100vh - 280px);
}
#p-repowering .rp-bcol, #p-kd-dms-orders .rp-bcol, #p-kundenuebersicht .rp-bcol{
  flex:0 0 280px;display:flex;flex-direction:column;
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  min-height:200px;
}
#p-repowering .rp-bcol-head, #p-kd-dms-orders .rp-bcol-head, #p-kundenuebersicht .rp-bcol-head{
  display:flex;align-items:center;gap: var(--space-2);padding: var(--space-3) 14px;
  border-bottom:1px solid var(--bd);
  font-size:12px;font-weight:600;color:var(--tx);
  background:var(--sur2);border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
#p-repowering .rp-bcol-dot, #p-kd-dms-orders .rp-bcol-dot, #p-kundenuebersicht .rp-bcol-dot{width:8px;height:8px;border-radius: 50%;flex:0 0 auto;background:var(--tx3)}
#p-repowering .rp-bcol-dot.is-offen, #p-kd-dms-orders .rp-bcol-dot.is-offen, #p-kundenuebersicht .rp-bcol-dot.is-offen{background:var(--ac3)}
#p-repowering .rp-bcol-dot.is-nicht_erreicht, #p-kd-dms-orders .rp-bcol-dot.is-nicht_erreicht, #p-kundenuebersicht .rp-bcol-dot.is-nicht_erreicht{background:var(--tx3)}
#p-repowering .rp-bcol-dot.is-termin, #p-kd-dms-orders .rp-bcol-dot.is-termin, #p-kundenuebersicht .rp-bcol-dot.is-termin{background:#4ade80}
#p-repowering .rp-bcol-dot.is-kein_interesse, #p-kd-dms-orders .rp-bcol-dot.is-kein_interesse, #p-kundenuebersicht .rp-bcol-dot.is-kein_interesse{background:var(--ac4)}
#p-repowering .rp-bcol-dot.is-wiedervorlage, #p-kd-dms-orders .rp-bcol-dot.is-wiedervorlage, #p-kundenuebersicht .rp-bcol-dot.is-wiedervorlage{background:var(--ac3)}
#p-repowering .rp-bcol-dot.is-angebot, #p-kd-dms-orders .rp-bcol-dot.is-angebot, #p-kundenuebersicht .rp-bcol-dot.is-angebot{background:#60a5fa}
#p-repowering .rp-bcol-dot.is-abgeschlossen_gewonnen, #p-kd-dms-orders .rp-bcol-dot.is-abgeschlossen_gewonnen, #p-kundenuebersicht .rp-bcol-dot.is-abgeschlossen_gewonnen{background:#4ade80}
#p-repowering .rp-bcol-dot.is-abgeschlossen_verloren, #p-kd-dms-orders .rp-bcol-dot.is-abgeschlossen_verloren, #p-kundenuebersicht .rp-bcol-dot.is-abgeschlossen_verloren{background:var(--ac4)}
#p-repowering .rp-bcol-dot.is-provision_auszahlung, #p-kd-dms-orders .rp-bcol-dot.is-provision_auszahlung, #p-kundenuebersicht .rp-bcol-dot.is-provision_auszahlung{background:#a78bfa}
#p-repowering .rp-bcol-title, #p-kd-dms-orders .rp-bcol-title, #p-kundenuebersicht .rp-bcol-title{flex:1;min-width:0}
#p-repowering .rp-bcol-count, #p-kd-dms-orders .rp-bcol-count, #p-kundenuebersicht .rp-bcol-count{
  font-family:'DM Mono',monospace;font-size:10px;font-weight:600;
  background:var(--bg);padding: 2px 7px;border-radius: 8px;color:var(--tx3);
}
#p-repowering .rp-bcol-body, #p-kd-dms-orders .rp-bcol-body, #p-kundenuebersicht .rp-bcol-body{flex:1;padding: 10px;display:flex;flex-direction:column;gap: var(--space-2);overflow-y:auto}
#p-repowering .rp-bcol-empty, #p-kd-dms-orders .rp-bcol-empty, #p-kundenuebersicht .rp-bcol-empty{padding: 18px var(--space-2);text-align:center;font-size:11.5px;color:var(--tx3);font-style:italic}
#p-repowering .rp-bcard, #p-kd-dms-orders .rp-bcard, #p-kundenuebersicht .rp-bcard{
  background:var(--bg);border:1px solid var(--bd);border-radius: 8px;
  padding: 10px var(--space-3);cursor:pointer;transition:border-color .12s,transform .12s;
  display:flex;flex-direction:column;gap: var(--space-1);
}
#p-repowering .rp-bcard:hover, #p-kd-dms-orders .rp-bcard:hover, #p-kundenuebersicht .rp-bcard:hover{border-color:var(--ac);transform:translateY(-1px)}
#p-repowering .rp-bcard-firma, #p-kd-dms-orders .rp-bcard-firma, #p-kundenuebersicht .rp-bcard-firma{
  font-size:12.5px;font-weight:600;color:var(--tx);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-repowering .rp-bcard-meta, #p-kd-dms-orders .rp-bcard-meta, #p-kundenuebersicht .rp-bcard-meta{
  font-size:11px;color:var(--tx2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-repowering .rp-bcard-agent, #p-kd-dms-orders .rp-bcard-agent, #p-kundenuebersicht .rp-bcard-agent{font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);margin-top: 2px}

/* Filter-Pills im KPI-Stats-Stil: Farb-Punkt + Label + Count. Klickbar,
   schlankes Design, subtiler on-Zustand. Keine extra rp-stats-Zeile mehr. */
#p-repowering .rp-fpills, #p-kd-dms-orders .rp-fpills, #p-kundenuebersicht .rp-fpills{
  display:flex;align-items:center;gap: 14px;flex-wrap:wrap;flex:1;min-width:0
}
#p-repowering .rp-fpill, #p-kd-dms-orders .rp-fpill, #p-kundenuebersicht .rp-fpill{
  display:inline-flex;align-items:center;gap: 6px;
  padding: 3px var(--space-2);border:0;background:transparent;border-radius: var(--radius-md);
  font-size:11.5px;color:var(--tx2);cursor:pointer;font-family:inherit;
  white-space:nowrap;transition:all .12s
}
#p-repowering .rp-fpill[hidden], #p-kd-dms-orders .rp-fpill[hidden], #p-kundenuebersicht .rp-fpill[hidden]{display:none}
#p-repowering .rp-fpill i, #p-kd-dms-orders .rp-fpill i, #p-kundenuebersicht .rp-fpill i{display:none}   /* Farb-Punkte raus — User-Wunsch „natura" */
#p-repowering .rp-fpill:hover, #p-kd-dms-orders .rp-fpill:hover, #p-kundenuebersicht .rp-fpill:hover{background:var(--sur2);color:var(--tx)}
#p-repowering .rp-fpill.on, #p-kd-dms-orders .rp-fpill.on, #p-kundenuebersicht .rp-fpill.on{color:var(--tx);font-weight:600;background:var(--sur2)}
#p-repowering .rp-fpill.on .rp-fpill-cnt, #p-kd-dms-orders .rp-fpill.on .rp-fpill-cnt, #p-kundenuebersicht .rp-fpill.on .rp-fpill-cnt{color:var(--ac)}
#p-repowering .rp-fpill-cnt, #p-kd-dms-orders .rp-fpill-cnt, #p-kundenuebersicht .rp-fpill-cnt{
  font-family:'DM Mono',monospace;font-size:12px;font-weight:600;color:var(--tx);
}

/* Icon-Toggles rechts (Karten / Liste / Bulk / Reload) */
#p-repowering .rp-icons, #p-kd-dms-orders .rp-icons, #p-kundenuebersicht .rp-icons{
  display:flex;align-items:center;gap: 2px;flex-shrink:0
}
#p-repowering .rp-icon, #p-kd-dms-orders .rp-icon, #p-kundenuebersicht .rp-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius: 7px;
  background:transparent;border:0;color:var(--tx3);
  cursor:pointer;transition:all .12s;padding:0
}
#p-repowering .rp-icon svg, #p-kd-dms-orders .rp-icon svg, #p-kundenuebersicht .rp-icon svg{width:14px;height:14px}
#p-repowering .rp-icon:hover, #p-kd-dms-orders .rp-icon:hover, #p-kundenuebersicht .rp-icon:hover{background:var(--sur2);color:var(--tx)}
#p-repowering .rp-icon.on, #p-kd-dms-orders .rp-icon.on, #p-kundenuebersicht .rp-icon.on{background:var(--sur2);color:var(--ac)}
/* Bulk-Toggle mit Text-Label — gleicher UX-Stil wie Daten-Check
   "☐ Auswählen" / "✓ Auswahl-Modus aus". Width auto + Padding statt Quadrat. */
#p-repowering .rp-icon-bulktoggle, #p-kd-dms-orders .rp-icon-bulktoggle, #p-kundenuebersicht .rp-icon-bulktoggle{
  width:auto;height:32px;padding: 0 var(--space-3);
  border:1px solid var(--bd);font-size:11.5px;font-family:inherit;color:var(--tx2)
}
#p-repowering .rp-icon-bulktoggle:hover, #p-kd-dms-orders .rp-icon-bulktoggle:hover, #p-kundenuebersicht .rp-icon-bulktoggle:hover{border-color:var(--bd2);color:var(--tx)}
#p-repowering .rp-icon-bulktoggle.on, #p-kd-dms-orders .rp-icon-bulktoggle.on, #p-kundenuebersicht .rp-icon-bulktoggle.on{
  background:rgba(122,128,36,.10);border-color:var(--ac);color:var(--ac)
}

/* ── Filter-Bar (Suche + 3 Dropdowns) ── */
#p-repowering .rp-filters, #p-kd-dms-orders .rp-filters, #p-kundenuebersicht .rp-filters{
  display:flex;align-items:center;gap: 10px;margin-bottom: var(--space-2);flex-wrap:wrap
}
#p-repowering .rp-search, #p-kd-dms-orders .rp-search, #p-kundenuebersicht .rp-search{
  flex:1;min-width:260px;position:relative;
  display:flex;align-items:center
}
#p-repowering .rp-search svg, #p-kd-dms-orders .rp-search svg, #p-kundenuebersicht .rp-search svg{
  position:absolute;left:12px;width:14px;height:14px;color:var(--tx3);
  pointer-events:none
}
#p-repowering .rp-search input, #p-kd-dms-orders .rp-search input, #p-kundenuebersicht .rp-search input{
  width:100%;background:var(--sur);border:1px solid var(--bd);
  border-radius: 8px;padding: 9px var(--space-3) 9px 34px;
  font-size:12.5px;font-family:inherit;color:var(--tx);outline:none;
  transition:border-color .12s
}
#p-repowering .rp-search input::placeholder, #p-kd-dms-orders .rp-search input::placeholder, #p-kundenuebersicht .rp-search input::placeholder{color:var(--tx3)}
#p-repowering .rp-search input:focus, #p-kd-dms-orders .rp-search input:focus, #p-kundenuebersicht .rp-search input:focus{border-color:var(--ac)}
/* Status- + PLZ-Select feste Breite, sonst springen sie beim
   Akquise/Vertrieb-Wechsel weil die Optionen unterschiedlich lang sind. */
#p-repowering .rp-select, #p-kd-dms-orders .rp-select, #p-kundenuebersicht .rp-select{
  background:var(--sur);border:1px solid var(--bd);color:var(--tx2);
  border-radius: 8px;padding: 9px 28px 9px var(--space-3);
  font-size:12px;font-family:inherit;outline:none;cursor:pointer;
  width:180px;min-width:180px;max-width:180px;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'><path d='M2 3.5l3 3 3-3' stroke='%23999' stroke-width='1.4' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center
}
#p-repowering .rp-select:focus, #p-kd-dms-orders .rp-select:focus, #p-kundenuebersicht .rp-select:focus{border-color:var(--ac)}

/* „Fehlerhafte ausblenden" Toggle in der Filter-Bar */
#p-repowering .rp-toggle, #p-kd-dms-orders .rp-toggle, #p-kundenuebersicht .rp-toggle{
  display:inline-flex;align-items:center;gap: 6px;cursor:pointer;
  font-size:11.5px;color:var(--tx2);padding: 0 var(--space-1);user-select:none
}
#p-repowering .rp-toggle input, #p-kd-dms-orders .rp-toggle input, #p-kundenuebersicht .rp-toggle input{
  cursor:pointer;width:13px;height:13px;accent-color:var(--ac);margin:0
}
#p-repowering .rp-toggle:hover, #p-kd-dms-orders .rp-toggle:hover, #p-kundenuebersicht .rp-toggle:hover{color:var(--tx)}

/* ── Bulk-Hint Row — collapsed Default + active Mode ── */
#p-repowering .rp-bulk-hint, #p-kd-dms-orders .rp-bulk-hint, #p-kundenuebersicht .rp-bulk-hint{
  margin: var(--space-2) 0 10px;font-size:11.5px;color:var(--tx3);
  display:flex;align-items:center;gap: 10px;flex-wrap:wrap
}
#p-repowering .rp-bulk-hint[hidden], #p-kd-dms-orders .rp-bulk-hint[hidden], #p-kundenuebersicht .rp-bulk-hint[hidden]{display:none}
#p-repowering .rp-bulk-hint-toggle, #p-kd-dms-orders .rp-bulk-hint-toggle, #p-kundenuebersicht .rp-bulk-hint-toggle{
  display:inline-flex;align-items:center;gap: var(--space-2);cursor:pointer;
  user-select:none
}
#p-repowering .rp-bulk-hint-toggle input, #p-kd-dms-orders .rp-bulk-hint-toggle input, #p-kundenuebersicht .rp-bulk-hint-toggle input{
  width:13px;height:13px;accent-color:var(--ac);margin: 0;cursor:pointer
}
#p-repowering .rp-bulk-hint-collapsed em, #p-kd-dms-orders .rp-bulk-hint-collapsed em, #p-kundenuebersicht .rp-bulk-hint-collapsed em{color:var(--tx3);font-style:normal;opacity:.85}
#p-repowering .rp-bulk-hint-active, #p-kd-dms-orders .rp-bulk-hint-active, #p-kundenuebersicht .rp-bulk-hint-active{
  display:none;align-items:center;gap: 6px;flex-wrap:wrap;flex:1
}
#p-repowering .rp-bulk-hint.is-active .rp-bulk-hint-collapsed, #p-kd-dms-orders .rp-bulk-hint.is-active .rp-bulk-hint-collapsed, #p-kundenuebersicht .rp-bulk-hint.is-active .rp-bulk-hint-collapsed{display:none}
#p-repowering .rp-bulk-hint.is-active .rp-bulk-hint-active, #p-kd-dms-orders .rp-bulk-hint.is-active .rp-bulk-hint-active, #p-kundenuebersicht .rp-bulk-hint.is-active .rp-bulk-hint-active{display:flex}
#p-repowering .rp-bulk-hint .rp-bulk-count, #p-kd-dms-orders .rp-bulk-hint .rp-bulk-count, #p-kundenuebersicht .rp-bulk-hint .rp-bulk-count{
  font-size:11px;font-weight:500;color:var(--ac);
  background:rgba(122,128,36,.14);padding: 3px 9px;border-radius: 11px;white-space:nowrap
}
#p-repowering .rp-bulk-hint .rp-bulk-count b, #p-kd-dms-orders .rp-bulk-hint .rp-bulk-count b, #p-kundenuebersicht .rp-bulk-hint .rp-bulk-count b{font-family:'DM Mono',monospace;font-weight:600}
#p-repowering .rp-bulk-hint select, #p-kd-dms-orders .rp-bulk-hint select, #p-kundenuebersicht .rp-bulk-hint select, , #p-kd-dms-orders .rp-bulk-hint input[type="text"], #p-kundenuebersicht .rp-bulk-hint input[type="text"]{
  background:var(--sur);border:1px solid var(--bd);color:var(--tx);
  border-radius: var(--radius-md);padding: 6px 9px;font-size:11.5px;font-family:inherit;outline:none;
  transition:border-color .12s
}
#p-repowering .rp-bulk-hint select, #p-kd-dms-orders .rp-bulk-hint select, #p-kundenuebersicht .rp-bulk-hint select{min-width:150px}
#p-repowering .rp-bulk-hint input[type="text"], #p-kd-dms-orders .rp-bulk-hint input[type="text"], #p-kundenuebersicht .rp-bulk-hint input[type="text"]{flex:1;min-width:170px}
#p-repowering .rp-bulk-hint select:focus, #p-kd-dms-orders .rp-bulk-hint select:focus, #p-kundenuebersicht .rp-bulk-hint select:focus, , #p-kd-dms-orders .rp-bulk-hint input[type="text"]:focus, #p-kundenuebersicht .rp-bulk-hint input[type="text"]:focus{border-color:var(--ac)}
#p-repowering .rp-bulk-apply, #p-kd-dms-orders .rp-bulk-apply, #p-kundenuebersicht .rp-bulk-apply{
  background:var(--ac);border:0;color:#fff;
  border-radius: var(--radius-md);padding: 7px 14px;font-size:11.5px;font-weight:500;
  cursor:pointer;font-family:inherit;transition:opacity .12s
}
#p-repowering .rp-bulk-apply:hover, #p-kd-dms-orders .rp-bulk-apply:hover, #p-kundenuebersicht .rp-bulk-apply:hover{opacity:.9}
#p-repowering .rp-bulk-clear, #p-kd-dms-orders .rp-bulk-clear, #p-kundenuebersicht .rp-bulk-clear{
  background:transparent;border:0;color:var(--tx3);
  font-size:11px;cursor:pointer;font-family:inherit;padding:6px 8px
}
#p-repowering .rp-bulk-clear:hover, #p-kd-dms-orders .rp-bulk-clear:hover, #p-kundenuebersicht .rp-bulk-clear:hover{color:var(--tx)}
#p-repowering .rp-bulk-delete, #p-kd-dms-orders .rp-bulk-delete, #p-kundenuebersicht .rp-bulk-delete{
  background:transparent;border:1px solid #d97706;color:#d97706;
  border-radius: var(--radius-md);padding: 6px var(--space-3);font-size:11.5px;font-weight:500;
  cursor:pointer;font-family:inherit;transition:background .12s, color .12s
}
#p-repowering .rp-bulk-delete:hover, #p-kd-dms-orders .rp-bulk-delete:hover, #p-kundenuebersicht .rp-bulk-delete:hover{background:#d97706;color:#fff}

/* Slim Breadcrumb-Header statt Hero-Box (2026-05-13, User-Wunsch) */
#p-repowering .rp-crumb, #p-kd-dms-orders .rp-crumb, #p-kundenuebersicht .rp-crumb{
  display:flex;align-items:center;gap: var(--space-2);flex-wrap:wrap;
  padding: 6px 2px 14px;font-size:12px;color:var(--tx2);line-height:1.4
}
#p-repowering .rp-crumb-eyebrow, #p-kd-dms-orders .rp-crumb-eyebrow, #p-kundenuebersicht .rp-crumb-eyebrow{
  text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;
  color:var(--ac);font-weight:500
}
#p-repowering .rp-crumb-eyebrow .rp-crumb-dot, #p-kd-dms-orders .rp-crumb-eyebrow .rp-crumb-dot, #p-kundenuebersicht .rp-crumb-eyebrow .rp-crumb-dot{margin: 0 2px;opacity:.7}
#p-repowering .rp-crumb-dot, #p-kd-dms-orders .rp-crumb-dot, #p-kundenuebersicht .rp-crumb-dot{color:var(--tx3);font-style:normal;font-size:13px;line-height:1}
#p-repowering .rp-crumb-title, #p-kd-dms-orders .rp-crumb-title, #p-kundenuebersicht .rp-crumb-title{color:var(--tx);font-size:13px}
#p-repowering .rp-crumb-title i, #p-kd-dms-orders .rp-crumb-title i, #p-kundenuebersicht .rp-crumb-title i{
  font-family:'Crimson Text','Charter','Georgia',serif;
  font-style:italic;font-size:15px;font-weight:400;color:var(--ac)
}
#p-repowering .rp-crumb-dash, #p-kd-dms-orders .rp-crumb-dash, #p-kundenuebersicht .rp-crumb-dash{color:var(--tx3);font-style:normal;margin: 0 var(--space-1)}
#p-repowering .rp-crumb-info, #p-kd-dms-orders .rp-crumb-info, #p-kundenuebersicht .rp-crumb-info{
  background:transparent;border:0;padding: 2px;color:var(--tx3);
  cursor:help;display:inline-flex;align-items:center;border-radius:50%
}
#p-repowering .rp-crumb-info svg, #p-kd-dms-orders .rp-crumb-info svg, #p-kundenuebersicht .rp-crumb-info svg{width:14px;height:14px}
#p-repowering .rp-crumb-info:hover, #p-kd-dms-orders .rp-crumb-info:hover, #p-kundenuebersicht .rp-crumb-info:hover{color:var(--ac)}

/* Solar-Pill in Tabelle/Card */
#p-repowering .rp-pill, #p-kd-dms-orders .rp-pill, #p-kundenuebersicht .rp-pill{
  display:inline-block;padding: 2px var(--space-2);border-radius: var(--radius-lg);
  font-size:10px;font-weight:500;white-space:nowrap
}
#p-repowering .rp-pill-ok, #p-kd-dms-orders .rp-pill-ok, #p-kundenuebersicht .rp-pill-ok{background:rgba(122,128,36,.15);color:var(--ac)}
#p-repowering .rp-pill-no, #p-kd-dms-orders .rp-pill-no, #p-kundenuebersicht .rp-pill-no{background:var(--sur2);color:var(--tx3)}
#p-repowering .rp-pill-pending, #p-kd-dms-orders .rp-pill-pending, #p-kundenuebersicht .rp-pill-pending{background:var(--sur2);color:var(--tx3)}
#p-repowering .rp-pill-mastr, #p-kd-dms-orders .rp-pill-mastr, #p-kundenuebersicht .rp-pill-mastr{background:rgba(96,165,250,.16);color:#60a5fa;font-family:'DM Mono',monospace}
#p-repowering .rp-pill-mastr-no, #p-kd-dms-orders .rp-pill-mastr-no, #p-kundenuebersicht .rp-pill-mastr-no{background:var(--sur2);color:var(--tx3);opacity:.7}

/* Status-Tag (in Tabelle) — neutraler Style ohne Farbcodierung.
   User-Wunsch 2026-05-18: zurueckhaltend, einzige farbliche Markierung
   in der Liste ist der Score (rp-validity-pill). */
#p-repowering .rp-status, #p-kd-dms-orders .rp-status, #p-kundenuebersicht .rp-status{
  display:inline-block;padding: 2px var(--space-2);border-radius: var(--radius-lg);
  font-size:10px;font-weight:500;background:transparent;color:var(--tx2)
}

/* Cards-View */
#p-repowering .rp-card, #p-kd-dms-orders .rp-card, #p-kundenuebersicht .rp-card{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 14px var(--space-4);cursor:pointer;transition:border-color .12s,background .12s
}
#p-repowering .rp-card:hover, #p-kd-dms-orders .rp-card:hover, #p-kundenuebersicht .rp-card:hover{border-color:var(--bd2);background:var(--sur2)}
#p-repowering .rp-card-h, #p-kd-dms-orders .rp-card-h, #p-kundenuebersicht .rp-card-h{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap: var(--space-2);margin-bottom:8px
}
#p-repowering .rp-card-firma, #p-kd-dms-orders .rp-card-firma, #p-kundenuebersicht .rp-card-firma{font-size:13px;font-weight:500;color:var(--tx);line-height:1.3}

/* Quelle-Badge — kleine Pille die zeigt woher die Adresse stammt
   (MaStR-Filter vs Excel-Upload). Steht direkt vor dem Firmennamen
   in Tabelle, Card-View und Board-Card. */
#p-repowering .rp-src-badge, #p-kd-dms-orders .rp-src-badge, #p-kundenuebersicht .rp-src-badge{
  display:inline-block;
  font-size:10px;
  font-weight:600;
  line-height:1;
  padding: 2px 6px;
  border-radius: 3px;
  margin-right: 6px;
  vertical-align:1px;
  letter-spacing:.3px;
  text-transform:uppercase;
}
#p-repowering .rp-src-badge.rp-src-mastr, #p-kd-dms-orders .rp-src-badge.rp-src-mastr, #p-kundenuebersicht .rp-src-badge.rp-src-mastr{
  background:rgba(74,134,232,.16);
  color:#3b6fc4;
  border:1px solid rgba(74,134,232,.30);
}
#p-repowering .rp-src-badge.rp-src-excel, #p-kd-dms-orders .rp-src-badge.rp-src-excel, #p-kundenuebersicht .rp-src-badge.rp-src-excel{
  background:rgba(15,157,88,.14);
  color:#2a7f50;
  border:1px solid rgba(15,157,88,.28);
}
:root.dark #p-repowering .rp-src-badge.rp-src-mastr, #p-kd-dms-orders .rp-src-badge.rp-src-mastr, #p-kundenuebersicht .rp-src-badge.rp-src-mastr, :root.dark #p-kd-dms-pipeline .rp-src-badge.rp-src-mastr {
  background:rgba(116,170,255,.18);color:#9bbdf2;border-color:rgba(116,170,255,.34);
}
:root.dark #p-repowering .rp-src-badge.rp-src-excel, #p-kd-dms-orders .rp-src-badge.rp-src-excel, #p-kundenuebersicht .rp-src-badge.rp-src-excel, :root.dark #p-kd-dms-pipeline .rp-src-badge.rp-src-excel {
  background:rgba(80,200,140,.18);color:#88d8aa;border-color:rgba(80,200,140,.34);
}
#p-repowering .rp-card-pills, #p-kd-dms-orders .rp-card-pills, #p-kundenuebersicht .rp-card-pills{display:flex;align-items:center;gap: 6px;flex-shrink:0}
#p-repowering .rp-card-meta, #p-kd-dms-orders .rp-card-meta, #p-kundenuebersicht .rp-card-meta{
  font-size:11.5px;color:var(--tx2);line-height:1.5;margin-bottom:8px
}
#p-repowering .rp-card-foot, #p-kd-dms-orders .rp-card-foot, #p-kundenuebersicht .rp-card-foot{
  display:flex;justify-content:space-between;align-items:center;
  gap: var(--space-2);font-size:11px;color:var(--tx3);padding-top: var(--space-2);border-top:1px solid var(--bd)
}

/* ── Slide-In Detail-Pane ───────────────────────────────────────────── */
.det-page#rp-detail-panel{
  width:min(720px, 96vw);padding: 0;display:flex;flex-direction:column
}
.det-page#rp-detail-panel .rp-detail-head{
  display:flex;justify-content:space-between;align-items:center;
  padding: 11px 22px;min-height:52px;
  border-bottom:1px solid var(--bd);background:var(--sur);
  position:sticky;top:0;z-index:2;flex-shrink:0;box-sizing:border-box;
}
.det-page#rp-detail-panel .rp-detail-head-l{flex:1;min-width:0;padding-right: var(--space-3)}
.det-page#rp-detail-panel .rp-detail-head-l h3{
  font-size:14px;font-weight:600;color:var(--tx);margin: 0;
  line-height:1.3;word-break:break-word
}
.det-page#rp-detail-panel .rp-detail-sub{display:none}   /* Adresse raus aus Header — schlankere Linie */
.det-page#rp-detail-panel .rp-detail-sub{font-size:11px;color:var(--tx3)}
.det-page#rp-detail-panel .rp-detail-head-r{
  display:flex;align-items:center;gap: var(--space-2);flex-shrink:0;
}
.det-page#rp-detail-panel .rp-detail-report{
  display:inline-flex;align-items:center;gap: 6px;
  padding: 6px var(--space-3);border-radius: 5px;cursor:pointer;
  background:transparent;border:1px solid var(--bd);color:var(--tx2);
  font-family:'Inter',sans-serif;font-size:11.5px;font-weight:400;
  transition:background .15s,color .15s,border-color .15s;
}
.det-page#rp-detail-panel .rp-detail-report svg{width:13px;height:13px;flex-shrink:0;color:#b67700;}
.det-page#rp-detail-panel .rp-detail-report:hover{
  background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.30);color:var(--tx);
}
.det-page#rp-detail-panel .rp-detail-close{
  background:transparent;border:0;color:var(--tx3);font-size:24px;
  line-height:1;width:32px;height:32px;border-radius: 7px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:color .15s,background .15s;flex-shrink:0
}
.det-page#rp-detail-panel .rp-detail-close:hover{color:var(--tx);background:var(--sur2)}
.det-page#rp-detail-panel .rp-detail-body{
  flex:1;overflow-y:auto;padding:18px 22px
}

/* KI Solar-Check Block — sitzt direkt unter dem Detail-Header */
#p-repowering .rp-sc, #p-kd-dms-orders .rp-sc, #p-kundenuebersicht .rp-sc{
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: var(--space-3) 14px;margin-bottom:12px
}
#p-repowering .rp-sc.rp-sc-done.is-solar, #p-kd-dms-orders .rp-sc.rp-sc-done.is-solar, #p-kundenuebersicht .rp-sc.rp-sc-done.is-solar{border-left:3px solid var(--ac)}
#p-repowering .rp-sc.rp-sc-done.is-nosolar, #p-kd-dms-orders .rp-sc.rp-sc-done.is-nosolar, #p-kundenuebersicht .rp-sc.rp-sc-done.is-nosolar{border-left:3px solid var(--tx3)}
#p-repowering .rp-sc.rp-sc-done.is-unsure, #p-kd-dms-orders .rp-sc.rp-sc-done.is-unsure, #p-kundenuebersicht .rp-sc.rp-sc-done.is-unsure{border-left:3px solid var(--ac3)}
#p-repowering .rp-sc-h, #p-kd-dms-orders .rp-sc-h, #p-kundenuebersicht .rp-sc-h{
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom: var(--space-2);gap:8px
}
#p-repowering .rp-sc-title, #p-kd-dms-orders .rp-sc-title, #p-kundenuebersicht .rp-sc-title{
  font-size:11px;font-weight:500;color:var(--tx);
  text-transform:uppercase;letter-spacing:.06em
}
#p-repowering .rp-sc-time, #p-kd-dms-orders .rp-sc-time, #p-kundenuebersicht .rp-sc-time, , #p-kd-dms-orders .rp-sc-sub, #p-kundenuebersicht .rp-sc-sub{
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace
}
#p-repowering .rp-sc-verdict, #p-kd-dms-orders .rp-sc-verdict, #p-kundenuebersicht .rp-sc-verdict{
  font-size:13px;font-weight:500;color:var(--tx);margin-bottom:6px
}
#p-repowering .rp-sc.is-solar .rp-sc-verdict, #p-kd-dms-orders .rp-sc.is-solar .rp-sc-verdict, #p-kundenuebersicht .rp-sc.is-solar .rp-sc-verdict{color:var(--ac)}
#p-repowering .rp-sc.is-unsure .rp-sc-verdict, #p-kd-dms-orders .rp-sc.is-unsure .rp-sc-verdict, #p-kundenuebersicht .rp-sc.is-unsure .rp-sc-verdict{color:var(--ac3)}
#p-repowering .rp-sc-bar, #p-kd-dms-orders .rp-sc-bar, #p-kundenuebersicht .rp-sc-bar{
  height:5px;background:var(--sur3);border-radius: 3px;overflow:hidden;margin-bottom:8px
}
#p-repowering .rp-sc-fill, #p-kd-dms-orders .rp-sc-fill, #p-kundenuebersicht .rp-sc-fill{height:100%;transition:width .3s ease;border-radius: 3px}
#p-repowering .rp-sc-fill.high, #p-kd-dms-orders .rp-sc-fill.high, #p-kundenuebersicht .rp-sc-fill.high{background:var(--ac)}
#p-repowering .rp-sc-fill.mid, #p-kd-dms-orders .rp-sc-fill.mid, #p-kundenuebersicht .rp-sc-fill.mid{background:var(--ac3)}
#p-repowering .rp-sc-fill.low, #p-kd-dms-orders .rp-sc-fill.low, #p-kundenuebersicht .rp-sc-fill.low{background:var(--ac4)}
#p-repowering .rp-sc-notes, #p-kd-dms-orders .rp-sc-notes, #p-kundenuebersicht .rp-sc-notes{
  font-size:11.5px;color:var(--tx2);font-style:italic;line-height:1.5;margin-bottom:10px
}
#p-repowering .rp-sc-btn, #p-kd-dms-orders .rp-sc-btn, #p-kundenuebersicht .rp-sc-btn{width:100%;font-size:11.5px;padding: var(--space-2) 10px}
#p-repowering .rp-sc-btn:disabled, #p-kd-dms-orders .rp-sc-btn:disabled, #p-kundenuebersicht .rp-sc-btn:disabled{opacity:.7;cursor:wait}

/* Sat-Bild in der KI-Card — User kann manuell verifizieren */
#p-repowering .rp-sc-img-wrap, #p-kd-dms-orders .rp-sc-img-wrap, #p-kundenuebersicht .rp-sc-img-wrap{
  margin: var(--space-2) 0 10px;border-radius: var(--radius-md);overflow:hidden;
  border:1px solid var(--bd);background:var(--sur3);aspect-ratio:1
}
#p-repowering .rp-sc-img-wrap img, #p-kd-dms-orders .rp-sc-img-wrap img, #p-kundenuebersicht .rp-sc-img-wrap img{
  width:100%;height:100%;display:block;object-fit:cover
}

/* MaStR-Block im Slide-In: verifizierte Anlagen-Daten aus dem
   Marktstammdatenregister (Bundesnetzagentur). Matched = grün, no_match
   = grau, pending = neutral mit Re-Check-Button. */
#p-repowering .rp-mastr, #p-kd-dms-orders .rp-mastr, #p-kundenuebersicht .rp-mastr{
  margin-top: 14px;padding: 14px var(--space-4);border:1px solid var(--bd);
  border-radius: 8px;background:var(--sur2);
}
#p-repowering .rp-mastr.is-matched, #p-kd-dms-orders .rp-mastr.is-matched, #p-kundenuebersicht .rp-mastr.is-matched{border-left:3px solid #60a5fa}
#p-repowering .rp-mastr.is-no-match, #p-kd-dms-orders .rp-mastr.is-no-match, #p-kundenuebersicht .rp-mastr.is-no-match{border-left:3px solid var(--tx3);opacity:.85}
#p-repowering .rp-mastr.is-pending, #p-kd-dms-orders .rp-mastr.is-pending, #p-kundenuebersicht .rp-mastr.is-pending{border-left:3px solid var(--ac3,#fbbf24)}
#p-repowering .rp-mastr-h, #p-kd-dms-orders .rp-mastr-h, #p-kundenuebersicht .rp-mastr-h{
  display:flex;align-items:center;gap: 7px;font-size:11px;font-weight:600;
  color:var(--tx);text-transform:uppercase;letter-spacing:.06em;margin-bottom: var(--space-3);
}
#p-repowering .rp-mastr-h em, #p-kd-dms-orders .rp-mastr-h em, #p-kundenuebersicht .rp-mastr-h em{
  font-style:normal;font-size:10px;color:var(--tx3);font-weight:400;
  text-transform:none;letter-spacing:0;
}
#p-repowering .rp-mastr-icon, #p-kd-dms-orders .rp-mastr-icon, #p-kundenuebersicht .rp-mastr-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius: 50%;font-size:11px;font-weight:700;
}
#p-repowering .rp-mastr.is-matched .rp-mastr-icon, #p-kd-dms-orders .rp-mastr.is-matched .rp-mastr-icon, #p-kundenuebersicht .rp-mastr.is-matched .rp-mastr-icon{background:#60a5fa;color:#fff}
#p-repowering .rp-mastr.is-no-match .rp-mastr-icon, #p-kd-dms-orders .rp-mastr.is-no-match .rp-mastr-icon, #p-kundenuebersicht .rp-mastr.is-no-match .rp-mastr-icon{background:var(--bd2);color:var(--tx3)}
#p-repowering .rp-mastr.is-pending .rp-mastr-icon, #p-kd-dms-orders .rp-mastr.is-pending .rp-mastr-icon, #p-kundenuebersicht .rp-mastr.is-pending .rp-mastr-icon{background:var(--ac3,#fbbf24);color:#222}
#p-repowering .rp-mastr-kv, #p-kd-dms-orders .rp-mastr-kv, #p-kundenuebersicht .rp-mastr-kv{
  margin: 0;display:grid;grid-template-columns:auto 1fr;gap: 7px var(--space-4);font-size:12.5px;
  line-height:1.5;
}
#p-repowering .rp-mastr-kv dt, #p-kd-dms-orders .rp-mastr-kv dt, #p-kundenuebersicht .rp-mastr-kv dt{color:var(--tx3);font-weight:400}
#p-repowering .rp-mastr-kv dd, #p-kd-dms-orders .rp-mastr-kv dd, #p-kundenuebersicht .rp-mastr-kv dd{margin: 0;color:var(--tx);font-family:'DM Mono',monospace}
#p-repowering .rp-mastr-kv code, #p-kd-dms-orders .rp-mastr-kv code, #p-kundenuebersicht .rp-mastr-kv code{font-size:11px;color:var(--tx2)}
#p-repowering .rp-mastr-age, #p-kd-dms-orders .rp-mastr-age, #p-kundenuebersicht .rp-mastr-age{color:var(--tx3);font-family:inherit;font-size:11px}

/* Standort-Aggregation Slide-In (2026-05-23): Gesamtleistung + Anlagen-Liste */
#p-repowering .rp-mastr-kv dd strong, #p-kd-dms-orders .rp-mastr-kv dd strong, #p-kundenuebersicht .rp-mastr-kv dd strong{color:var(--accent);font-weight:600}
#p-repowering .rp-mastr-anl-list, #p-kd-dms-orders .rp-mastr-anl-list, #p-kundenuebersicht .rp-mastr-anl-list{
  margin-top: 14px;padding: var(--space-3) 14px;border-radius: var(--radius-md);
  background:rgba(0,0,0,.025);border:1px solid rgba(0,0,0,.06);
}
#p-repowering .rp-mastr-anl-h, #p-kd-dms-orders .rp-mastr-anl-h, #p-kundenuebersicht .rp-mastr-anl-h{
  font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tx3);margin-bottom: var(--space-2);
}
#p-repowering .rp-mastr-anl-ol, #p-kd-dms-orders .rp-mastr-anl-ol, #p-kundenuebersicht .rp-mastr-anl-ol{
  list-style:none;margin: 0;padding: 0;display:grid;gap: 6px;
  counter-reset:rp-anl;
}
#p-repowering .rp-mastr-anl-ol li, #p-kd-dms-orders .rp-mastr-anl-ol li, #p-kundenuebersicht .rp-mastr-anl-ol li{
  display:grid;grid-template-columns:90px 60px 1fr;gap: 14px;align-items:baseline;
  padding: 6px var(--space-2);border-radius: var(--radius-sm);font-family:'DM Mono',monospace;font-size:12px;
}
#p-repowering .rp-mastr-anl-ol li.is-primary, #p-kd-dms-orders .rp-mastr-anl-ol li.is-primary, #p-kundenuebersicht .rp-mastr-anl-ol li.is-primary{background:rgba(213,217,96,.12)}
#p-repowering .rp-mastr-anl-ol li::before, #p-kd-dms-orders .rp-mastr-anl-ol li::before, #p-kundenuebersicht .rp-mastr-anl-ol li::before{
  counter-increment:rp-anl;content:counter(rp-anl);
  position:absolute;color:var(--tx3);font-size:10px;
}
#p-repowering .rp-mastr-anl-kwp, #p-kd-dms-orders .rp-mastr-anl-kwp, #p-kundenuebersicht .rp-mastr-anl-kwp{color:var(--tx);font-weight:500}
#p-repowering .rp-mastr-anl-ibn, #p-kd-dms-orders .rp-mastr-anl-ibn, #p-kundenuebersicht .rp-mastr-anl-ibn{color:var(--tx2)}
#p-repowering .rp-mastr-anl-nr, #p-kd-dms-orders .rp-mastr-anl-nr, #p-kundenuebersicht .rp-mastr-anl-nr{font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace}
#p-repowering .rp-mastr-empty, #p-kd-dms-orders .rp-mastr-empty, #p-kundenuebersicht .rp-mastr-empty{
  font-size:11.5px;color:var(--tx2);margin: var(--space-1) 0 var(--space-2);line-height:1.4;
}
#p-repowering .rp-mastr-empty em, #p-kd-dms-orders .rp-mastr-empty em, #p-kundenuebersicht .rp-mastr-empty em{color:var(--tx3);font-style:italic;font-size:11px}
#p-repowering .rp-mastr-recheck, #p-kd-dms-orders .rp-mastr-recheck, #p-kundenuebersicht .rp-mastr-recheck{
  background:transparent;border:1px solid var(--bd);border-radius: var(--radius-md);
  padding: var(--space-1) 10px;font-size:11px;color:var(--tx2);cursor:pointer;
}
#p-repowering .rp-mastr-recheck:hover, #p-kd-dms-orders .rp-mastr-recheck:hover, #p-kundenuebersicht .rp-mastr-recheck:hover{border-color:var(--ac);color:var(--ac)}
#p-repowering .rp-mastr-source, #p-kd-dms-orders .rp-mastr-source, #p-kundenuebersicht .rp-mastr-source{
  margin-top: var(--space-2);padding-top: 6px;border-top:1px solid var(--bd);
  font-size:10px;color:var(--tx3);line-height:1.4;
}
#p-repowering .rp-mastr-source a, #p-kd-dms-orders .rp-mastr-source a, #p-kundenuebersicht .rp-mastr-source a{color:var(--tx3);text-decoration:underline;text-underline-offset:2px}
#p-repowering .rp-mastr-source a:hover, #p-kd-dms-orders .rp-mastr-source a:hover, #p-kundenuebersicht .rp-mastr-source a:hover{color:var(--tx2)}

/* Öffnungszeiten-Block im Slide-In — kompakte Liste der 7 Wochentage mit
   Highlight auf „heute". Quelle: Google Places (regularOpeningHours), wird
   beim Daten-Check + via Refresh-Button befüllt. */
#p-repowering .rp-oh, #p-kd-dms-orders .rp-oh, #p-kundenuebersicht .rp-oh{
  margin-top: var(--space-3);padding: var(--space-2) 0;border:0;background:transparent;
  border-top:1px solid var(--bd);
}
#p-repowering .rp-oh-head, #p-kd-dms-orders .rp-oh-head, #p-kundenuebersicht .rp-oh-head{
  display:flex;align-items:center;gap: var(--space-2);margin-bottom: 0;
  cursor:pointer;list-style:none;padding: 2px 0;
}
#p-repowering .rp-oh-head::-webkit-details-marker, #p-kd-dms-orders .rp-oh-head::-webkit-details-marker, #p-kundenuebersicht .rp-oh-head::-webkit-details-marker{display:none}
#p-repowering .rp-oh-head::before, #p-kd-dms-orders .rp-oh-head::before, #p-kundenuebersicht .rp-oh-head::before{
  content:'▶';font-size:9px;color:var(--tx3);margin-right: var(--space-1);transition:transform .15s;
}
#p-repowering .rp-oh[open] .rp-oh-head::before, #p-kd-dms-orders .rp-oh[open] .rp-oh-head::before, #p-kundenuebersicht .rp-oh[open] .rp-oh-head::before{transform:rotate(90deg)}
#p-repowering .rp-oh-status, #p-kd-dms-orders .rp-oh-status, #p-kundenuebersicht .rp-oh-status{font-size:10.5px;color:var(--tx3);font-style:italic}
#p-repowering .rp-oh[open] .rp-oh-list, #p-kd-dms-orders .rp-oh[open] .rp-oh-list, #p-kundenuebersicht .rp-oh[open] .rp-oh-list{margin-top: var(--space-2)}
#p-repowering .rp-oh-head h4, #p-kd-dms-orders .rp-oh-head h4, #p-kundenuebersicht .rp-oh-head h4{
  margin: 0;font-size:11px;font-weight:500;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.06em;flex:1
}

/* Website-Block im Slide-In (2026-05-20). Klickbarer Link zur Firma. */
#p-repowering .rp-website-block, #p-kd-dms-orders .rp-website-block, #p-kundenuebersicht .rp-website-block{
  margin-top: var(--space-3);padding: var(--space-2) 0;border-top:1px solid var(--bd);
}
#p-repowering .rp-website-block h4, #p-kd-dms-orders .rp-website-block h4, #p-kundenuebersicht .rp-website-block h4{
  margin: 0 0 6px 0;font-size:11px;font-weight:500;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.06em
}
#p-repowering .rp-website-link, #p-kd-dms-orders .rp-website-link, #p-kundenuebersicht .rp-website-link{
  display:inline-block;color:var(--ac);text-decoration:none;
  font-size:13px;font-weight:500;word-break:break-all
}
#p-repowering .rp-website-link:hover, #p-kd-dms-orders .rp-website-link:hover, #p-kundenuebersicht .rp-website-link:hover{text-decoration:underline}
#p-repowering .rp-oh-fetched, #p-kd-dms-orders .rp-oh-fetched, #p-kundenuebersicht .rp-oh-fetched{
  font-size:10px;color:var(--tx3);font-family:'DM Mono',monospace;opacity:.7
}
#p-repowering .rp-oh-refresh, #p-kd-dms-orders .rp-oh-refresh, #p-kundenuebersicht .rp-oh-refresh{
  background:transparent;border:1px solid var(--bd);color:var(--tx3);
  border-radius: 5px;padding: 3px var(--space-2);font-size:11px;font-family:inherit;
  cursor:pointer;transition:all .12s
}
#p-repowering .rp-oh-refresh:hover, #p-kd-dms-orders .rp-oh-refresh:hover, #p-kundenuebersicht .rp-oh-refresh:hover{background:var(--sur2);color:var(--tx)}
#p-repowering .rp-oh-refresh:disabled, #p-kd-dms-orders .rp-oh-refresh:disabled, #p-kundenuebersicht .rp-oh-refresh:disabled{opacity:.5;cursor:wait}
#p-repowering .rp-oh-empty, #p-kd-dms-orders .rp-oh-empty, #p-kundenuebersicht .rp-oh-empty{
  font-size:11.5px;color:var(--tx3);font-style:italic;padding:4px 0
}
#p-repowering .rp-oh-list, #p-kd-dms-orders .rp-oh-list, #p-kundenuebersicht .rp-oh-list{
  display:flex;flex-direction:column;gap:1px
}
#p-repowering .rp-oh-row, #p-kd-dms-orders .rp-oh-row, #p-kundenuebersicht .rp-oh-row{
  display:flex;justify-content:space-between;gap: var(--space-3);
  padding: var(--space-1) 6px;font-size:12px;border-radius:4px
}
#p-repowering .rp-oh-row.is-today, #p-kd-dms-orders .rp-oh-row.is-today, #p-kundenuebersicht .rp-oh-row.is-today{
  background:rgba(213,217,96,.12);color:var(--tx);font-weight:500
}
#p-repowering .rp-oh-day, #p-kd-dms-orders .rp-oh-day, #p-kundenuebersicht .rp-oh-day{
  color:var(--tx3);font-family:'DM Mono',monospace;min-width:24px
}
#p-repowering .rp-oh-row.is-today .rp-oh-day, #p-kd-dms-orders .rp-oh-row.is-today .rp-oh-day, #p-kundenuebersicht .rp-oh-row.is-today .rp-oh-day{color:var(--ac)}
#p-repowering .rp-oh-label, #p-kd-dms-orders .rp-oh-label, #p-kundenuebersicht .rp-oh-label{color:var(--tx2);text-align:right;flex:1}
#p-repowering .rp-oh-row.is-today .rp-oh-label, #p-kd-dms-orders .rp-oh-row.is-today .rp-oh-label, #p-kundenuebersicht .rp-oh-row.is-today .rp-oh-label{color:var(--tx)}

/* Datenfehler-Banner im Slide-In (oberhalb der Map). Zeigt klar warum die
   Zeile als kaputt markiert ist und bietet einen Reset-Button. */
#p-repowering .rp-datenfehler-banner, #p-kd-dms-orders .rp-datenfehler-banner, #p-kundenuebersicht .rp-datenfehler-banner{
  display:flex;align-items:flex-start;gap: 10px;
  background:rgba(248,113,113,.08);border:1px solid var(--ac4);
  border-left:4px solid var(--ac4);
  border-radius: 8px;padding: 10px 14px;margin-bottom:12px
}
#p-repowering .rp-datenfehler-icon, #p-kd-dms-orders .rp-datenfehler-icon, #p-kundenuebersicht .rp-datenfehler-icon{
  font-size:18px;line-height:1;color:var(--ac4);flex-shrink:0;margin-top:1px
}
#p-repowering .rp-datenfehler-body, #p-kd-dms-orders .rp-datenfehler-body, #p-kundenuebersicht .rp-datenfehler-body{flex:1;min-width:0}
#p-repowering .rp-datenfehler-title, #p-kd-dms-orders .rp-datenfehler-title, #p-kundenuebersicht .rp-datenfehler-title{
  font-size:12.5px;font-weight:600;color:var(--ac4);line-height:1.3
}
#p-repowering .rp-datenfehler-sub, #p-kd-dms-orders .rp-datenfehler-sub, #p-kundenuebersicht .rp-datenfehler-sub{
  font-size:11px;color:var(--tx3);margin-top: 3px;line-height:1.4
}
#p-repowering .rp-datenfehler-reset, #p-kd-dms-orders .rp-datenfehler-reset, #p-kundenuebersicht .rp-datenfehler-reset{
  background:transparent;border:1px solid var(--ac4);color:var(--ac4);
  border-radius: var(--radius-md);padding: 5px 10px;font-size:11.5px;font-family:inherit;
  cursor:pointer;white-space:nowrap;transition:all .12s;align-self:center
}
#p-repowering .rp-datenfehler-reset:hover, #p-kd-dms-orders .rp-datenfehler-reset:hover, #p-kundenuebersicht .rp-datenfehler-reset:hover{
  background:var(--ac4);color:#fff
}

/* Maps-Container im Slide-In */
#p-repowering .rp-map-wrap, #p-kd-dms-orders .rp-map-wrap, #p-kundenuebersicht .rp-map-wrap{
  position:relative;background:var(--sur2);border:1px solid var(--bd);
  border-radius: 8px;overflow:hidden;margin-bottom: 10px;
  aspect-ratio:4/3
}
#p-repowering .rp-map-wrap iframe, #p-kd-dms-orders .rp-map-wrap iframe, #p-kundenuebersicht .rp-map-wrap iframe{
  width:100%;height:100%;border:0;display:block
}
#p-repowering .rp-map-loading, #p-kd-dms-orders .rp-map-loading, #p-kundenuebersicht .rp-map-loading, , #p-kd-dms-orders .rp-map-fail, #p-kundenuebersicht .rp-map-fail{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;text-align:center;padding: 20px;background:var(--sur2);z-index:1
}
#p-repowering .rp-map-loading, #p-kd-dms-orders .rp-map-loading, #p-kundenuebersicht .rp-map-loading{color:var(--tx3)}
#p-repowering .rp-map-fail, #p-kd-dms-orders .rp-map-fail, #p-kundenuebersicht .rp-map-fail{color:var(--ac4)}
#p-repowering .rp-map-actions, #p-kd-dms-orders .rp-map-actions, #p-kundenuebersicht .rp-map-actions{
  display:flex;gap: 6px;margin-bottom:14px
}
#p-repowering .rp-map-actions .n-btn, #p-kd-dms-orders .rp-map-actions .n-btn, #p-kundenuebersicht .rp-map-actions .n-btn{flex:1;font-size:11.5px;padding: var(--space-2) 10px}

/* Zoom-Steuerung: +/− / Level / Refresh / Map-Links — kompakte horizontale Bar */
#p-repowering .rp-zoom-bar, #p-kd-dms-orders .rp-zoom-bar, #p-kundenuebersicht .rp-zoom-bar{
  display:flex;align-items:center;gap: 0;margin-bottom: 10px;
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  padding: 3px;
}
#p-repowering .rp-zoom-btn, #p-kd-dms-orders .rp-zoom-btn, #p-kundenuebersicht .rp-zoom-btn{
  background:transparent;border:none;color:var(--tx2);
  width:28px;height:28px;padding: 0;line-height:1;font-size:14px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius: 5px;transition:background .12s, color .12s;
}
#p-repowering .rp-zoom-btn:hover, #p-kd-dms-orders .rp-zoom-btn:hover, #p-kundenuebersicht .rp-zoom-btn:hover{background:var(--sur2);color:var(--tx)}
#p-repowering .rp-zoom-refresh, #p-kd-dms-orders .rp-zoom-refresh, #p-kundenuebersicht .rp-zoom-refresh{font-size:13px}
#p-repowering .rp-zoom-level, #p-kd-dms-orders .rp-zoom-level, #p-kundenuebersicht .rp-zoom-level{
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3);
  padding: 0 var(--space-2);min-width:54px;text-align:center;letter-spacing:.02em;
}

/* Stammdaten-Card */
#p-repowering .rp-detail-stamm, #p-kd-dms-orders .rp-detail-stamm, #p-kundenuebersicht .rp-detail-stamm{
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: 10px 14px;margin-bottom:14px
}
#p-repowering .rp-stamm-row, #p-kd-dms-orders .rp-stamm-row, #p-kundenuebersicht .rp-stamm-row{
  display:flex;justify-content:space-between;gap: var(--space-3);
  font-size:11.5px;padding: 5px 0;border-bottom:1px solid var(--bd)
}
#p-repowering .rp-stamm-row:last-child, #p-kd-dms-orders .rp-stamm-row:last-child, #p-kundenuebersicht .rp-stamm-row:last-child{border-bottom:0}
#p-repowering .rp-stamm-row > span:first-child, #p-kd-dms-orders .rp-stamm-row > span:first-child, #p-kundenuebersicht .rp-stamm-row > span:first-child{
  color:var(--tx3);text-transform:uppercase;font-size:10px;
  letter-spacing:.05em;flex-shrink:0;font-weight:500
}
#p-repowering .rp-stamm-row > span:last-child, #p-kd-dms-orders .rp-stamm-row > span:last-child, #p-kundenuebersicht .rp-stamm-row > span:last-child{
  color:var(--tx);text-align:right;flex:1
}
#p-repowering .rp-stamm-warn > span:last-child, #p-kd-dms-orders .rp-stamm-warn > span:last-child, #p-kundenuebersicht .rp-stamm-warn > span:last-child{color:var(--ac3)}
#p-repowering .rp-stamm-multiline, #p-kd-dms-orders .rp-stamm-multiline, #p-kundenuebersicht .rp-stamm-multiline{flex-direction:column;align-items:stretch}
#p-repowering .rp-stamm-multiline > span:last-child, #p-kd-dms-orders .rp-stamm-multiline > span:last-child, #p-kundenuebersicht .rp-stamm-multiline > span:last-child{text-align:left;margin-top: var(--space-1)}

/* Workflow-Editor */
#p-repowering .rp-wf, #p-kd-dms-orders .rp-wf, #p-kundenuebersicht .rp-wf{
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding:14px 16px
}
#p-repowering .rp-wf h4, #p-kd-dms-orders .rp-wf h4, #p-kundenuebersicht .rp-wf h4{
  margin: 0 0 var(--space-3);font-size:10px;font-weight:500;
  color:var(--tx3);text-transform:uppercase;letter-spacing:.08em
}
#p-repowering .rp-wf-row, #p-kd-dms-orders .rp-wf-row, #p-kundenuebersicht .rp-wf-row{
  display:grid;grid-template-columns:110px 1fr;gap: 10px;
  align-items:center;margin-bottom: var(--space-2);font-size:11.5px
}
#p-repowering .rp-wf-row label, #p-kd-dms-orders .rp-wf-row label, #p-kundenuebersicht .rp-wf-row label{color:var(--tx3);font-size:11px}
#p-repowering .rp-wf-row .rp-input, #p-kd-dms-orders .rp-wf-row .rp-input, #p-kundenuebersicht .rp-wf-row .rp-input{
  background:var(--sur);border:1px solid var(--bd);color:var(--tx);
  border-radius: var(--radius-md);padding: 7px 9px;font-size:12px;font-family:inherit;outline:none;
  transition:border-color .12s;width:100%
}
#p-repowering .rp-wf-row .rp-input:focus, #p-kd-dms-orders .rp-wf-row .rp-input:focus, #p-kundenuebersicht .rp-wf-row .rp-input:focus{border-color:var(--ac)}
/* Datum + Uhrzeit getrennt: Datum nimmt mehr Platz, Uhrzeit nur was sie
   braucht — User soll auf einen Blick „aha, 2 Felder" sehen. */
#p-repowering .rp-dt-pair, #p-kd-dms-orders .rp-dt-pair, #p-kundenuebersicht .rp-dt-pair{display:grid;grid-template-columns:1fr 90px;gap: 6px}
#p-repowering .rp-dt-pair .rp-input, #p-kd-dms-orders .rp-dt-pair .rp-input, #p-kundenuebersicht .rp-dt-pair .rp-input{padding: 7px 9px}
#p-repowering .rp-dt-time, #p-kd-dms-orders .rp-dt-time, #p-kundenuebersicht .rp-dt-time{font-variant-numeric:tabular-nums}
#p-repowering .rp-wf-readonly, #p-kd-dms-orders .rp-wf-readonly, #p-kundenuebersicht .rp-wf-readonly{
  font-size:11.5px;color:var(--tx2);padding: 7px 9px;
  background:transparent;border:1px dashed var(--bd);border-radius:6px
}
#p-repowering .rp-wf + .rp-wf, #p-kd-dms-orders .rp-wf + .rp-wf, #p-kundenuebersicht .rp-wf + .rp-wf{margin-top: 14px}

/* Versionsverlauf */
#p-repowering .rp-history, #p-kd-dms-orders .rp-history, #p-kundenuebersicht .rp-history{
  margin-top: var(--space-4);background:var(--sur2);border:1px solid var(--bd);
  border-radius: 8px;padding:10px 14px
}
#p-repowering .rp-history summary, #p-kd-dms-orders .rp-history summary, #p-kundenuebersicht .rp-history summary{
  font-size:10px;font-weight:500;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  padding: var(--space-1) 0;list-style:none
}
#p-repowering .rp-history summary::-webkit-details-marker, #p-kd-dms-orders .rp-history summary::-webkit-details-marker, #p-kundenuebersicht .rp-history summary::-webkit-details-marker{display:none}
#p-repowering .rp-history summary::before, #p-kd-dms-orders .rp-history summary::before, #p-kundenuebersicht .rp-history summary::before{
  content:'▸';margin-right: 6px;display:inline-block;transition:transform .15s
}
#p-repowering .rp-history[open] summary::before, #p-kd-dms-orders .rp-history[open] summary::before, #p-kundenuebersicht .rp-history[open] summary::before{transform:rotate(90deg)}
#p-repowering .rp-history-list, #p-kd-dms-orders .rp-history-list, #p-kundenuebersicht .rp-history-list{margin-top: 10px;font-size:11.5px}
/* Audit-Trail (2026-05-20): kompakte Zeile time · who · desc, keine Diffs.
   Grid-Layout damit Spalten gleich ausgerichtet sind. */
#p-repowering .rp-hist-entry, #p-kd-dms-orders .rp-hist-entry, #p-kundenuebersicht .rp-hist-entry{
  display:grid;grid-template-columns:140px 110px 1fr;gap: 10px;
  padding: 5px 0;border-bottom:1px dashed var(--bd);align-items:center
}
#p-repowering .rp-hist-entry:last-child, #p-kd-dms-orders .rp-hist-entry:last-child, #p-kundenuebersicht .rp-hist-entry:last-child{border-bottom:0}
#p-repowering .rp-hist-time, #p-kd-dms-orders .rp-hist-time, #p-kundenuebersicht .rp-hist-time{
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace
}
#p-repowering .rp-hist-who, #p-kd-dms-orders .rp-hist-who, #p-kundenuebersicht .rp-hist-who{
  font-size:11px;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
#p-repowering .rp-hist-desc, #p-kd-dms-orders .rp-hist-desc, #p-kundenuebersicht .rp-hist-desc{font-size:11px;color:var(--tx)}
#p-repowering .rp-hist-initial .rp-hist-desc, #p-kd-dms-orders .rp-hist-initial .rp-hist-desc, #p-kundenuebersicht .rp-hist-initial .rp-hist-desc{color:var(--ac);font-style:italic}
#p-repowering .rp-wf-row-full, #p-kd-dms-orders .rp-wf-row-full, #p-kundenuebersicht .rp-wf-row-full{grid-template-columns:1fr;align-items:start}
#p-repowering .rp-wf-row-full label, #p-kd-dms-orders .rp-wf-row-full label, #p-kundenuebersicht .rp-wf-row-full label{margin-bottom: var(--space-1)}
#p-repowering .rp-wf-row-full textarea.rp-input, #p-kd-dms-orders .rp-wf-row-full textarea.rp-input, #p-kundenuebersicht .rp-wf-row-full textarea.rp-input{min-height:70px;resize:vertical}
#p-repowering .rp-wf-solar, #p-kd-dms-orders .rp-wf-solar, #p-kundenuebersicht .rp-wf-solar{display:flex;gap: 6px}
#p-repowering .rp-solar-btn, #p-kd-dms-orders .rp-solar-btn, #p-kundenuebersicht .rp-solar-btn{
  flex:1;padding: 3px var(--space-2);font-size:11px;font-family:inherit;
  background:var(--bg);border:1px solid var(--bd);border-radius: 5px;
  color:var(--tx3);cursor:pointer;transition:all .12s
}
#p-repowering .rp-solar-btn:hover, #p-kd-dms-orders .rp-solar-btn:hover, #p-kundenuebersicht .rp-solar-btn:hover{background:var(--sur2);color:var(--tx)}
#p-repowering .rp-solar-btn.is-on, #p-kd-dms-orders .rp-solar-btn.is-on, #p-kundenuebersicht .rp-solar-btn.is-on{
  background:var(--bg);border-color:var(--tx);color:var(--tx);font-weight:600
}
#p-repowering .rp-wf-foot, #p-kd-dms-orders .rp-wf-foot, #p-kundenuebersicht .rp-wf-foot{
  display:flex;align-items:center;gap: var(--space-3);margin-top: 14px;
  padding-top: var(--space-3);border-top:1px solid var(--bd)
}
#p-repowering .rp-wf-stamp, #p-kd-dms-orders .rp-wf-stamp, #p-kundenuebersicht .rp-wf-stamp{
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace
}

/* ── Pipeline-List Spalten 2026-05-13 ── */

/* Telefon: Klartext, Mono-Font für Lesbarkeit */
#p-repowering .rp-col-tel, #p-kd-dms-orders .rp-col-tel, #p-kundenuebersicht .rp-col-tel{white-space:nowrap}
#p-repowering .rp-tel-text, #p-kd-dms-orders .rp-tel-text, #p-kundenuebersicht .rp-tel-text{
  font-family:'DM Mono',monospace;font-size:11.5px;color:var(--tx2)
}
#p-repowering .rp-tel-none, #p-kd-dms-orders .rp-tel-none, #p-kundenuebersicht .rp-tel-none{color:var(--tx3);font-size:11px}

/* Trailing-Chevron */
#p-repowering .rp-col-chev, #p-kd-dms-orders .rp-col-chev, #p-kundenuebersicht .rp-col-chev{
  width:20px;color:var(--tx3);text-align:right;
  font-size:14px;line-height:1;padding-right:10px
}
#p-repowering tr:hover .rp-col-chev, #p-kd-dms-orders tr:hover .rp-col-chev, #p-kundenuebersicht tr:hover .rp-col-chev{color:var(--ac)}

/* Pagi-Range "1 – 8 von 434" rechts im Tabellen-Header */
#p-repowering .rp-range, #p-kd-dms-orders .rp-range, #p-kundenuebersicht .rp-range{
  margin-left: auto;font-family:'DM Mono',monospace;
  font-size:11px;color:var(--tx3);white-space:nowrap
}

/* Score-Spalte: Validity-Pill aus Daten-Check Stufe 1 (2026-05-13) */
#p-repowering .rp-col-score, #p-kd-dms-orders .rp-col-score, #p-kundenuebersicht .rp-col-score{white-space:nowrap;text-align:center;width:64px}
#p-repowering .rp-vpill, #p-kd-dms-orders .rp-vpill, #p-kundenuebersicht .rp-vpill{
  display:inline-block;padding: 2px var(--space-2);border-radius: 11px;
  font-size:10.5px;font-weight:500;font-family:'DM Mono',monospace;white-space:nowrap
}
#p-repowering .rp-vpill-ok, #p-kd-dms-orders .rp-vpill-ok, #p-kundenuebersicht .rp-vpill-ok{background:rgba(122,128,36,.15);color:var(--ac)}
#p-repowering .rp-vpill-warn, #p-kd-dms-orders .rp-vpill-warn, #p-kundenuebersicht .rp-vpill-warn{background:rgba(245,158,11,.12);color:var(--ac3)}
#p-repowering .rp-vpill-bad, #p-kd-dms-orders .rp-vpill-bad, #p-kundenuebersicht .rp-vpill-bad{background:rgba(248,113,113,.10);color:var(--ac4)}
#p-repowering .rp-vpill-na, #p-kd-dms-orders .rp-vpill-na, #p-kundenuebersicht .rp-vpill-na{background:var(--sur2);color:var(--tx3)}

/* Solar-Bulk-Icon im Header (Sonne, leicht warm-gelblich) */
#p-repowering .rp-icon-solar-bulk, #p-kd-dms-orders .rp-icon-solar-bulk, #p-kundenuebersicht .rp-icon-solar-bulk{color:var(--ac3)}
#p-repowering .rp-icon-solar-bulk:hover, #p-kd-dms-orders .rp-icon-solar-bulk:hover, #p-kundenuebersicht .rp-icon-solar-bulk:hover{background:rgba(245,158,11,.12);color:var(--ac3)}
#p-repowering .rp-icon-solar-bulk:disabled, #p-kd-dms-orders .rp-icon-solar-bulk:disabled, #p-kundenuebersicht .rp-icon-solar-bulk:disabled{opacity:.5;cursor:wait}
/* Komplett-Reset-Icon (Test-Tool, dezent rot — Confirm-Dialog im Click-Handler) */
#p-repowering .rp-icon-reset, #p-kd-dms-orders .rp-icon-reset, #p-kundenuebersicht .rp-icon-reset{color:var(--ac4)}
#p-repowering .rp-icon-reset:hover, #p-kd-dms-orders .rp-icon-reset:hover, #p-kundenuebersicht .rp-icon-reset:hover{background:rgba(220,80,80,.12);color:var(--ac4)}

/* KI-Solar-Check-Button im Slide-In Workflow-Block */
#p-repowering .rp-solar-ki-btn, #p-kd-dms-orders .rp-solar-ki-btn, #p-kundenuebersicht .rp-solar-ki-btn{
  width:100%;background:rgba(86,107,134,.10);border:1px solid var(--bd);
  border-radius: var(--radius-md);padding: var(--space-2) var(--space-3);font-size:11.5px;color:var(--tx);
  font-family:inherit;cursor:pointer;text-align:left;transition:all .12s
}
#p-repowering .rp-solar-ki-btn:hover, #p-kd-dms-orders .rp-solar-ki-btn:hover, #p-kundenuebersicht .rp-solar-ki-btn:hover{background:rgba(86,107,134,.18);border-color:var(--ac2)}
#p-repowering .rp-solar-ki-btn:disabled, #p-kd-dms-orders .rp-solar-ki-btn:disabled, #p-kundenuebersicht .rp-solar-ki-btn:disabled{opacity:.65;cursor:wait}
#p-repowering .rp-solar-stamp, #p-kd-dms-orders .rp-solar-stamp, #p-kundenuebersicht .rp-solar-stamp{font-size:10.5px;color:var(--tx3);margin-left: var(--space-2)}

/* Pagi enger: kein Trennstrich oben, näher an die Tabelle, weiter links (User 2026-05-13) */
#p-repowering #rp-list-view .pagi, #p-kd-dms-orders #rp-list-view .pagi, #p-kundenuebersicht #rp-list-view .pagi, , #p-kd-dms-orders #rp-pagi, #p-kundenuebersicht #rp-pagi, , #p-kd-dms-orders #rp-pagi-cards, #p-kundenuebersicht #rp-pagi-cards{
  border-top:0;padding: 6px var(--space-1) var(--space-2);gap:6px
}

/* ── Side-Tabs am Slide-In (schmal, länglich, vertikales Label) ───── */
.rp-detail-panel{position:fixed;overflow:visible}  /* damit Tabs links rausschauen */
.rp-side-tabs{
  position:absolute;
  top:80px;left:-32px;
  display:flex;flex-direction:column;gap: var(--space-1);
  z-index:5;
}
.rp-side-tab{
  width:32px;height:118px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap: var(--space-2);
  background:var(--sur2);                /* dunkler als --sur damit auch in Light-Mode sichtbar */
  border:1px solid var(--bd2);           /* kräftigerer Border */
  border-right:none;
  border-radius: 7px 0 0 7px;
  color:var(--tx);
  cursor:pointer;
  padding: 10px 0 9px;
  box-shadow:-4px 2px 12px rgba(0,0,0,.18);
  transition:all .15s ease;
}
[data-theme="light"] .rp-side-tab{
  background:var(--sur3);
  border-color:var(--bd2);
  color:var(--tx);
  box-shadow:-4px 2px 14px rgba(15,30,53,.15);
}
.rp-side-tab:hover{
  margin-left: -3px;
  background:var(--ac);
  color:var(--ac-on);
  border-color:var(--ac);
  box-shadow:-4px 2px 14px rgba(0,0,0,.25);
}
/* MaStR-Tab dezenter (2026-05-20): kein gruener Hover, sondern neutral.
   Der Tab ist Read-only-Info, soll nicht so sehr ins Auge stechen. */
#rp-side-mastr{opacity:.75}
#rp-side-mastr:hover{
  background:var(--sur3);
  color:var(--tx);
  border-color:var(--bd2);
  opacity:1
}
.rp-side-tab-icon{
  width:15px;height:15px;display:block;flex-shrink:0;color:inherit;
}
.rp-side-tab-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:10px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;
  font-family:'DM Sans',sans-serif;
  white-space:nowrap;
}

/* Trennstrich + Map-Links in der Zoom-Bar */
#p-repowering .rp-zoom-sep, #p-kd-dms-orders .rp-zoom-sep, #p-kundenuebersicht .rp-zoom-sep{
  width:1px;height:16px;background:var(--bd);margin: 0 6px;flex-shrink:0;
}
#p-repowering .rp-zoom-link, #p-kd-dms-orders .rp-zoom-link, #p-kundenuebersicht .rp-zoom-link{
  background:transparent;border:0;color:var(--tx2);
  font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;
  padding: 0 10px;height:28px;border-radius: 5px;
  display:inline-flex;align-items:center;
  transition:background .12s,color .12s;
}
#p-repowering .rp-zoom-link:hover, #p-kd-dms-orders .rp-zoom-link:hover, #p-kundenuebersicht .rp-zoom-link:hover{background:var(--sur2);color:var(--tx)}
#p-repowering .rp-zoom-link:last-child, #p-kd-dms-orders .rp-zoom-link:last-child, #p-kundenuebersicht .rp-zoom-link:last-child{margin-left: auto}

/* ── Status-Banner im Slide-In (Sales-Cycle auf einen Blick) ─────── */
.rp-detail-panel .rp-status-banner{
  display:flex;align-items:center;gap: 10px;
  padding: var(--space-2) var(--space-4);
  background:var(--bg);
  border-bottom:1px solid var(--bd);
}
.rp-detail-panel .rp-status-banner-label{
  font-family:'DM Mono',monospace;font-size:10.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:var(--tx3);
}
.rp-detail-panel .rp-status-banner-value{
  font-size:14px;font-weight:600;color:var(--tx);letter-spacing:.01em;
}
/* Farbcodierung Banner deaktiviert (User-Wunsch „natura"). Falls einzelne
   alte is-*-Klassen noch im DOM landen, fallen sie auf neutralen Default. */
.rp-detail-panel .rp-status-banner-value{color:var(--tx)}

/* Quick-Action-Variante: kompaktes Dropdown rechts neben dem Label. Sieht
   visuell wie der normale Banner aus, hat aber direkt eine Aktion drin —
   keine „Status noch nicht gesetzt"-Sackgasse mehr. */
.rp-detail-panel .rp-status-banner-action .rp-status-banner-select{
  flex:1;
  background:var(--sur);border:1px solid var(--bd);
  border-radius: var(--radius-md);padding: 7px 10px;font-size:13px;font-weight:500;
  color:var(--tx);font-family:inherit;outline:none;cursor:pointer;
  max-width:280px;
  transition:border-color .12s,background .12s;
}
.rp-detail-panel .rp-status-banner-action .rp-status-banner-select:hover{
  border-color:var(--ac2);background:var(--sur2);
}
.rp-detail-panel .rp-status-banner-action .rp-status-banner-select:focus{
  border-color:var(--ac);
}


/* Admin-only Icons (Bulk-Toggle, Solar-Bulk, Reload, Komplett-Reset) —
   für Non-Admin/Teamleiter komplett ausgeblendet. */
body:not(.is-admin) #p-repowering .rp-admin-only, #p-kd-dms-orders .rp-admin-only, #p-kundenuebersicht .rp-admin-only, body:not(.is-admin) #p-kd-dms-pipeline .rp-admin-only {display:none !important}
/* Admin-only Sidebar-Eintraege (z.B. Mockup-Pages) — auch global gating */
body:not(.is-admin) .sidebar .rp-admin-only{display:none !important}

/* Sales-Stages 2026-05-18: Farbcodierung deaktiviert (User-Wunsch
   „zurueckhaltend"). Banner ist via .rp-status-banner-action immer neutral,
   .rp-status nutzt den Default ohne is-*-Farb-Override. */

/* Status-Wechsel: kurzer Pulse-Effekt auf dem Banner (700 ms, einmalig). */
@keyframes rp-status-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(74,222,128,.55); background: rgba(74,222,128,.10); }
  60%  { box-shadow: 0 0 0 10px rgba(74,222,128,0); background: rgba(74,222,128,.05); }
  100% { box-shadow: 0 0 0 0 rgba(74,222,128,0);   background: var(--bg); }
}
.rp-detail-panel .rp-status-banner.is-pulse{
  animation: rp-status-pulse .7s ease-out forwards;
}

/* Status-vergessen Sanftmahnung — dezenter orange Glow + Hinweis-Mini-Text. */
.rp-detail-panel .rp-status-banner.is-needs-status{
  box-shadow: inset 3px 0 0 var(--ac3);
}
.rp-detail-panel .rp-status-banner-hint{
  font-size:10.5px;font-style:italic;color:var(--ac3);margin-left: auto;
}

/* Auto-Save-Indikator im Workflow-Footer. */
#p-repowering .rp-save-indicator, #p-kd-dms-orders .rp-save-indicator, #p-kundenuebersicht .rp-save-indicator{
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3);
  display:inline-block;min-width:140px;
}
#p-repowering .rp-save-indicator.is-pending, #p-kd-dms-orders .rp-save-indicator.is-pending, #p-kundenuebersicht .rp-save-indicator.is-pending{color:var(--ac3)}
#p-repowering .rp-save-indicator.is-saving, #p-kd-dms-orders .rp-save-indicator.is-saving, #p-kundenuebersicht .rp-save-indicator.is-saving{color:var(--ac2)}
#p-repowering .rp-save-indicator.is-saved, #p-kd-dms-orders .rp-save-indicator.is-saved, #p-kundenuebersicht .rp-save-indicator.is-saved{color:var(--tx3)}
#p-repowering .rp-save-indicator.is-error, #p-kd-dms-orders .rp-save-indicator.is-error, #p-kundenuebersicht .rp-save-indicator.is-error{color:var(--ac4);cursor:pointer}

/* Multi-Mail Liste — eine Zeile pro Adresse + "+ E-Mail"-Button. */
#p-repowering .rp-email-list, #p-kd-dms-orders .rp-email-list, #p-kundenuebersicht .rp-email-list{display:flex;flex-direction:column;gap: var(--space-1);width:100%}
#p-repowering .rp-email-row, #p-kd-dms-orders .rp-email-row, #p-kundenuebersicht .rp-email-row{display:flex;gap: var(--space-1);align-items:center}
#p-repowering .rp-email-row input, #p-kd-dms-orders .rp-email-row input, #p-kundenuebersicht .rp-email-row input{flex:1}
#p-repowering .rp-email-del, #p-kd-dms-orders .rp-email-del, #p-kundenuebersicht .rp-email-del{
  background:transparent;border:1px solid var(--bd);border-radius: 5px;
  width:26px;height:26px;font-size:14px;color:var(--tx3);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1;padding: 0;
}
#p-repowering .rp-email-del:hover, #p-kd-dms-orders .rp-email-del:hover, #p-kundenuebersicht .rp-email-del:hover{border-color:var(--ac4);color:var(--ac4)}
#p-repowering .rp-email-add, #p-kd-dms-orders .rp-email-add, #p-kundenuebersicht .rp-email-add{
  align-self:flex-start;margin-top: 2px;
  background:transparent;border:1px dashed var(--bd);border-radius: 5px;
  padding: var(--space-1) 10px;font-size:11px;color:var(--tx3);
  font-family:inherit;cursor:pointer;transition:all .12s;
}
#p-repowering .rp-email-add:hover, #p-kd-dms-orders .rp-email-add:hover, #p-kundenuebersicht .rp-email-add:hover{border-color:var(--tx2);color:var(--tx2)}

/* Input+Copy-Button-Wrapper (2026-05-20): Input nimmt vollen Platz, Button
   rechts daneben. Wird fuer Handy/Telefon/E-Mail im Slide-In genutzt. */
#p-repowering .rp-input-copy, #p-kd-dms-orders .rp-input-copy, #p-kundenuebersicht .rp-input-copy{display:flex;gap: var(--space-1);align-items:center;flex:1}
#p-repowering .rp-input-copy .rp-input, #p-kd-dms-orders .rp-input-copy .rp-input, #p-kundenuebersicht .rp-input-copy .rp-input{flex:1}
#p-repowering .rp-copy-btn, #p-kd-dms-orders .rp-copy-btn, #p-kundenuebersicht .rp-copy-btn{
  background:transparent;border:1px solid var(--bd);border-radius: 5px;
  width:26px;height:26px;font-size:14px;color:var(--tx3);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1;padding: 0;flex-shrink:0;transition:all .12s
}
#p-repowering .rp-copy-btn:hover, #p-kd-dms-orders .rp-copy-btn:hover, #p-kundenuebersicht .rp-copy-btn:hover{border-color:var(--ac);color:var(--ac);background:rgba(122,128,36,.08)}
#p-repowering .rp-copy-btn.is-copied, #p-kd-dms-orders .rp-copy-btn.is-copied, #p-kundenuebersicht .rp-copy-btn.is-copied{border-color:var(--ac);color:var(--ac)}

/* Eingeklappte weitere E-Mails */
#p-repowering .rp-email-more, #p-kd-dms-orders .rp-email-more, #p-kundenuebersicht .rp-email-more{margin-top: 2px}
#p-repowering .rp-email-more summary, #p-kd-dms-orders .rp-email-more summary, #p-kundenuebersicht .rp-email-more summary{
  cursor:pointer;font-size:11px;color:var(--tx3);padding: 3px 6px;
  list-style:none;display:inline-block
}
#p-repowering .rp-email-more summary::-webkit-details-marker, #p-kd-dms-orders .rp-email-more summary::-webkit-details-marker, #p-kundenuebersicht .rp-email-more summary::-webkit-details-marker{display:none}
#p-repowering .rp-email-more summary::before, #p-kd-dms-orders .rp-email-more summary::before, #p-kundenuebersicht .rp-email-more summary::before{
  content:'▶ ';font-size:9px;color:var(--tx3)
}
#p-repowering .rp-email-more[open] summary::before, #p-kd-dms-orders .rp-email-more[open] summary::before, #p-kundenuebersicht .rp-email-more[open] summary::before{content:'▼ '}
#p-repowering .rp-email-more summary:hover, #p-kd-dms-orders .rp-email-more summary:hover, #p-kundenuebersicht .rp-email-more summary:hover{color:var(--tx2)}
#p-repowering .rp-email-more > .rp-email-row, #p-kd-dms-orders .rp-email-more > .rp-email-row, #p-kundenuebersicht .rp-email-more > .rp-email-row{margin-top: var(--space-1)}

/* MaStR-Stammdaten-Tab (2026-05-20): Cascading-Slide-In als zweites Panel
   ueber dem Pipeline-Detail. Read-only-Liste von Marktakteure-Feldern. */
.rp-mastr-tab-panel.det-page{
  position:fixed;top:0;right:0;height:100vh;width:min(560px,90vw);
  background:var(--sur);border-left:1px solid var(--bd);
  transform:translateX(100%);transition:transform .25s ease;
  z-index:1020;display:flex;flex-direction:column
}
.rp-mastr-tab-panel.det-page.open{transform:translateX(0)}
.rp-mastr-tab-panel .rp-detail-head{
  display:flex;align-items:center;gap: var(--space-3);padding: 18px 22px;
  border-bottom:1px solid var(--bd)
}
.rp-mastr-tab-panel .det-close{
  margin-left: auto;background:transparent;border:0;font-size:22px;
  color:var(--tx3);cursor:pointer;line-height:1;padding:4px 8px
}
.rp-mastr-tab-panel .det-close:hover{color:var(--tx)}
.rp-mastr-tab-panel .det-body{
  flex:1;overflow-y:auto;padding:18px 22px
}
.rp-mastr-tab-empty{
  padding: var(--space-5);text-align:center;color:var(--tx3);font-style:italic;
  background:var(--sur2);border-radius:8px
}
.rp-mk-section{
  margin-bottom: 18px;padding: 14px var(--space-4);
  background:var(--sur2);border-radius:8px
}
.rp-mk-section h4{
  margin: 0 0 10px 0;font-size:11px;font-weight:500;
  text-transform:uppercase;letter-spacing:.06em;color:var(--tx3)
}
.rp-mk-row{
  display:grid;grid-template-columns:140px 1fr;gap: var(--space-3);
  padding: 5px 0;font-size:13px;align-items:start
}
.rp-mk-row > span:first-child{color:var(--tx3);font-size:12px}
.rp-mk-row > span:last-child{color:var(--tx)}
.rp-mk-row-block{align-items:start}
.rp-mk-pill{
  display:inline-block;padding: 2px 9px;border-radius: 11px;
  font-size:11px;font-weight:500;font-family:'DM Mono',monospace
}
.rp-mk-pill-ok{background:rgba(122,128,36,.15);color:var(--ac)}

/* EEG-Vergütungs-Banner im MaStR-Block (2026-05-20).
   Color-Coded je nach Restzeit — beim Anruf wichtigster Hint. */
#p-repowering .rp-eeg-banner, #p-kd-dms-orders .rp-eeg-banner, #p-kundenuebersicht .rp-eeg-banner{
  display:flex;gap: var(--space-3);align-items:center;
  padding: var(--space-3) 14px;margin: 10px 0;
  border-radius: 8px;border:1px solid var(--bd)
}
#p-repowering .rp-eeg-icon, #p-kd-dms-orders .rp-eeg-icon, #p-kundenuebersicht .rp-eeg-icon{
  font-size:24px;line-height:1;flex-shrink:0
}
#p-repowering .rp-eeg-label, #p-kd-dms-orders .rp-eeg-label, #p-kundenuebersicht .rp-eeg-label{
  font-size:13.5px;font-weight:600;color:var(--tx);line-height:1.3
}
#p-repowering .rp-eeg-sub, #p-kd-dms-orders .rp-eeg-sub, #p-kundenuebersicht .rp-eeg-sub{
  font-size:11.5px;color:var(--tx2);margin-top:3px
}
/* HOT — ≤5 Jahre Restlaufzeit → roter Akzent */
#p-repowering .rp-eeg-banner.is-hot, #p-kd-dms-orders .rp-eeg-banner.is-hot, #p-kundenuebersicht .rp-eeg-banner.is-hot{
  background:rgba(248,113,113,.10);border-color:rgba(248,113,113,.5)
}
#p-repowering .rp-eeg-banner.is-hot .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-hot .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-hot .rp-eeg-label{color:var(--ac4)}
/* Expired — schon abgelaufen */
#p-repowering .rp-eeg-banner.is-expired, #p-kd-dms-orders .rp-eeg-banner.is-expired, #p-kundenuebersicht .rp-eeg-banner.is-expired{
  background:rgba(248,113,113,.16);border-color:rgba(248,113,113,.7)
}
#p-repowering .rp-eeg-banner.is-expired .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-expired .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-expired .rp-eeg-label{color:var(--ac4);font-weight:700}
/* WARM — 6-10 Jahre → orange */
#p-repowering .rp-eeg-banner.is-warm, #p-kd-dms-orders .rp-eeg-banner.is-warm, #p-kundenuebersicht .rp-eeg-banner.is-warm{
  background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.45)
}
#p-repowering .rp-eeg-banner.is-warm .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-warm .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-warm .rp-eeg-label{color:var(--ac3)}
/* COOL — 11+ Jahre → dezent */
#p-repowering .rp-eeg-banner.is-cool, #p-kd-dms-orders .rp-eeg-banner.is-cool, #p-kundenuebersicht .rp-eeg-banner.is-cool{
  background:var(--sur2);border-color:var(--bd)
}
#p-repowering .rp-eeg-banner.is-cool .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-cool .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-cool .rp-eeg-label{color:var(--tx2);font-weight:500}

/* Aufgabe-Side-Tab (2026-05-21): Cascading-Slide-In als zweites Panel.
   Form oben (Titel + Typ + Datum + Prio), Liste unten. */
.rp-aufgabe-tab-panel.det-page{
  position:fixed;top:0;right:0;height:100vh;width:min(560px,90vw);
  background:var(--sur);border-left:1px solid var(--bd);
  transform:translateX(100%);transition:transform .25s ease;
  z-index:1020;display:flex;flex-direction:column
}
.rp-aufgabe-tab-panel.det-page.open{transform:translateX(0)}
.rp-aufgabe-tab-panel .rp-detail-head{
  display:flex;align-items:center;gap: var(--space-3);padding: 18px 22px;
  border-bottom:1px solid var(--bd)
}
.rp-aufgabe-tab-panel .det-close{
  margin-left: auto;background:transparent;border:0;font-size:22px;
  color:var(--tx3);cursor:pointer;line-height:1;padding:4px 8px
}
.rp-aufgabe-tab-panel .det-close:hover{color:var(--tx)}
.rp-aufgabe-tab-panel .det-body{flex:1;overflow-y:auto;padding: 18px 22px}

.rp-aufg-form{
  display:flex;flex-direction:column;gap: 10px;
  background:var(--sur2);padding: 14px;border-radius: 8px;
  margin-bottom:18px
}
.rp-aufg-field{display:flex;flex-direction:column;gap: var(--space-1)}
.rp-aufg-field > span{
  font-size:11px;color:var(--tx3);text-transform:uppercase;
  letter-spacing:.06em;font-weight:500
}
.rp-aufg-field input,
.rp-aufg-field select,
.rp-aufg-field textarea{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-md);
  padding: 7px 9px;font-size:13px;color:var(--tx);font-family:inherit;outline:none
}
.rp-aufg-field input:focus,
.rp-aufg-field select:focus,
.rp-aufg-field textarea:focus{border-color:var(--ac)}
.rp-aufg-typrow{
  display:flex;gap: var(--space-2);flex-wrap:wrap;
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;padding:6px
}
.rp-aufg-typ{
  display:inline-flex;align-items:center;gap: var(--space-2);padding: var(--space-2) 14px;
  cursor:pointer;font-size:13px;color:var(--tx2);border-radius: var(--radius-md);
  border:1.5px solid transparent;background:transparent;
  transition:background .12s, border-color .12s, color .12s;
  user-select:none
}
.rp-aufg-typ:hover{background:var(--sur2)}
.rp-aufg-typ input{position:absolute;opacity:0;pointer-events:none}
/* Aktiv-State: prominent farbiger Border + dunkler Background + Bold */
.rp-aufg-typ.is-active{
  background:var(--sur2);color:var(--tx);font-weight:600;
  border-color:var(--typ-color, var(--ac))
}
.rp-aufg-typdot{
  display:inline-block;width:12px;height:12px;border-radius: 50%;
  box-shadow:0 0 0 2px var(--sur)
}
.rp-aufg-typ.is-active .rp-aufg-typdot{box-shadow:0 0 0 2px var(--sur2)}
/* Wenn nur EIN Typ erlaubt: kein Pill-Toggle, sondern dezenter Hinweis */
.rp-aufg-typ-single{
  display:inline-flex;align-items:center;gap: var(--space-2);padding: 6px var(--space-3);
  background:var(--sur);border:1px solid var(--bd);border-left:3px solid var(--typ-color, var(--ac));
  border-radius: var(--radius-md);color:var(--tx2);font-size:12.5px
}
.rp-aufg-daterow{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px
}
.rp-aufg-formfoot{display:flex;justify-content:flex-end;gap: var(--space-2);align-items:center;margin-top: var(--space-1)}
.rp-aufg-formfoot .rp-aufg-done-btn{
  background:#10b981;color:#fff;border:0;border-radius: var(--radius-md);
  padding: var(--space-2) 14px;font-size:13px;font-weight:500;cursor:pointer
}
.rp-aufg-formfoot .rp-aufg-done-btn:hover{filter:brightness(1.05)}
.rp-aufg-formfoot .rp-aufg-del-btn{
  background:transparent;border:1px solid var(--ac4);color:var(--ac4);
  border-radius: var(--radius-md);padding: 7px var(--space-3);font-size:12.5px;cursor:pointer;
  margin-right:auto
}
.rp-aufg-formfoot .rp-aufg-del-btn:hover{background:var(--ac4);color:#fff}
.rp-aufg-formfoot .btn.pri{
  background:var(--ac);color:var(--ac-on);border:0;border-radius: var(--radius-md);
  padding: var(--space-2) 14px;font-size:13px;font-weight:500;cursor:pointer
}
.rp-aufg-formfoot .btn.pri:hover{opacity:.9}

.rp-aufg-list-wrap h4{
  margin: 0 0 10px 0;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--tx3)
}
.rp-aufg-list{list-style:none;padding: 0;margin: 0;display:flex;flex-direction:column;gap: 6px}
.rp-aufg-item{
  display:flex;gap: 10px;align-items:center;
  padding: 10px var(--space-3);background:var(--sur2);border-radius:6px
}
.rp-aufg-item.is-done{opacity:.5}
.rp-aufg-item.is-done .rp-aufg-titel{text-decoration:line-through}
.rp-aufg-dot{
  width:10px;height:10px;border-radius: 50%;flex-shrink:0;margin-top:5px
}
.rp-aufg-body{flex:1;min-width:0}
.rp-aufg-titel{font-size:13px;color:var(--tx);font-weight:500}
.rp-aufg-meta{font-size:11px;color:var(--tx2);margin-top: 3px}
.rp-aufg-actions{display:flex;gap: var(--space-1)}
.rp-aufg-actions button{
  background:transparent;border:1px solid var(--bd);border-radius: 5px;
  padding: var(--space-1) var(--space-2);font-size:11px;color:var(--tx2);cursor:pointer;
  font-family:inherit;white-space:nowrap
}
.rp-aufg-actions button:hover{border-color:var(--ac);color:var(--ac)}
.rp-aufg-empty{
  padding: 18px;text-align:center;color:var(--tx3);font-style:italic;
  font-size:12.5px;background:var(--sur2);border-radius:6px
}

/* ─── Home-Page (Schnelluebersicht, 2026-05-21) ────────────────────── */
.rh-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap: var(--space-5);
  margin-bottom:20px
}
.rh-greet h1{font-size:24px;font-weight:600;margin: 0 0 var(--space-1);color:var(--tx)}
.rh-greet-sub{color:var(--tx2);font-size:13px}
.rh-actions{display:flex;gap: var(--space-2);flex-shrink:0}
.rh-actions .btn{
  padding: var(--space-2) 14px;border-radius: var(--radius-md);font-size:13px;cursor:pointer;
  border:1px solid var(--bd);background:var(--sur);color:var(--tx);font-weight:500
}
.rh-actions .btn.pri{background:var(--ac);color:var(--ac-on);border-color:var(--ac)}
.rh-actions .btn:hover{border-color:var(--ac);color:var(--ac)}
.rh-actions .btn.pri:hover{filter:brightness(1.06)}

.rh-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);gap: var(--space-3);margin-bottom:24px
}
.rh-kpi{
  text-align:left;padding: 14px var(--space-4);border:1px solid var(--bd);background:var(--sur);
  border-radius: 8px;cursor:pointer;transition:border-color .12s;
  display:flex;flex-direction:column;gap:4px
}
.rh-kpi:hover{border-color:var(--ac)}
.rh-kpi-val{font-size:24px;font-weight:600;color:var(--tx);line-height:1}
.rh-kpi-lbl{font-size:11.5px;color:var(--tx2);text-transform:uppercase;letter-spacing:.04em}
.rh-kpi.is-warn .rh-kpi-val{color:#d97706}

.rh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap: var(--space-4)}
.rh-card{
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  display:flex;flex-direction:column;min-height:280px
}
.rh-card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding: 14px var(--space-4);border-bottom:1px solid var(--bd)
}
.rh-card-head h3{margin: 0;font-size:14px;font-weight:600;color:var(--tx)}
.rh-card-more{
  background:transparent;border:0;color:var(--tx2);font-size:12px;cursor:pointer
}
.rh-card-more:hover{color:var(--ac)}
.rh-card-body{padding: var(--space-2);overflow-y:auto;flex:1}

.rh-row{
  display:flex;align-items:center;gap: 10px;padding: 10px var(--space-3);
  border-radius: var(--radius-md);cursor:pointer;transition:background .12s
}
.rh-row:hover{background:var(--sur2)}
.rh-row-dot{
  flex-shrink:0;width:9px;height:9px;border-radius:50%
}
.rh-row-main{flex:1;min-width:0}
.rh-row-title{
  font-size:13px;color:var(--tx);font-weight:500;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.rh-row-sub{font-size:11.5px;color:var(--tx2);margin-top: 1px}
.rh-row-when{
  flex-shrink:0;font-size:12px;color:var(--tx2);font-variant-numeric:tabular-nums
}
.rh-row.is-overdue .rh-row-sub{color:#d97706;font-weight:500}
.rh-row.is-prio-hoch .rh-row-title{font-weight:600}

.rh-stat{
  display:flex;align-items:center;justify-content:space-between;
  padding: 9px var(--space-3);border-radius: var(--radius-md);cursor:pointer;transition:background .12s
}
.rh-stat:hover{background:var(--sur2)}
.rh-stat-lbl{font-size:13px;color:var(--tx2)}
.rh-stat-cnt{font-size:14px;font-weight:600;color:var(--tx)}

.rh-empty{
  padding: var(--space-5);text-align:center;color:var(--tx3);font-size:12.5px;font-style:italic
}

/* Responsive: bei < 1100px stapeln */
@media (max-width: 1100px){
  .rh-grid{grid-template-columns:1fr}
  .rh-kpis{grid-template-columns:repeat(2,1fr)}
}

/* ─── Slide-In Vertikal-Rhythmus + Status-Banner-Polish (2026-05-22) ────
   Vorher hatten die Sektionen im Pipeline-Slide-In (Status-Banner, MaStR-
   Block, EEG-Banner, Solar-Check, .rp-wf-Cards, Notiz, Versionsverlauf)
   unterschiedliche margin-Werte → unregelmaessige Abstaende. Jetzt ein
   konsistenter Gap ueber Flex-Container, alte explizite Margins werden
   ueberschrieben. */
.det-page#rp-detail-panel .rp-detail-body{
  display:flex;flex-direction:column;gap:14px
}
/* Direkte Kinder NICHT schrumpfen lassen — sonst kollabiert die Karte
   (rp-map-wrap mit aspect-ratio:4/3) bei flex-column auf 0 Hoehe. */
.det-page#rp-detail-panel .rp-detail-body > *{flex-shrink:0}
/* Section-internes margin neutralisieren — der gap regelt die Abstaende */
.det-page#rp-detail-panel .rp-detail-body > .rp-wf,
.det-page#rp-detail-panel .rp-detail-body > .rp-sc,
.det-page#rp-detail-panel .rp-detail-body > .rp-mastr,
.det-page#rp-detail-panel .rp-detail-body > .rp-mastr-source,
.det-page#rp-detail-panel .rp-detail-body > .rp-eeg-banner,
.det-page#rp-detail-panel .rp-detail-body > .rp-history,
.det-page#rp-detail-panel .rp-detail-body > .rp-wf + .rp-wf,
.det-page#rp-detail-panel .rp-detail-body > .rp-status-banner{
  margin-top: 0;margin-bottom:0
}

/* Status-Banner: aus dem flat-Header in eine Card im selben Stil wie .rp-wf */
.det-page#rp-detail-panel .rp-status-banner{
  background:var(--sur2);
  border:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  border-radius: 8px;
  padding: 14px var(--space-4);
  gap:14px
}
.det-page#rp-detail-panel .rp-status-banner-label{
  flex-shrink:0;min-width:90px
}
.det-page#rp-detail-panel .rp-status-banner-hint{
  margin-left: auto;font-size:11px
}
/* Bei is-needs-status den orangen Inset-Strich behalten, aber an die Card-
   Form anpassen (links innen statt linksbuendig zum Slide-In-Rand) */
.det-page#rp-detail-panel .rp-status-banner.is-needs-status{
  box-shadow:inset 3px 0 0 var(--ac3)
}

/* Solar-Check Pro — Leaflet-Karte mit 3 Layern:
   - Dächer (grüne Outlines aus Google Solar API roofSegments)
   - Modul-Potenzial (graue Mini-Rechtecke aus Solar API solarPanels)
   - Erkannte Anlage (gelbes Rechteck aus KI pixel-bbox → lat/lng)
   Plus Sidebar: Stat-Tiles, Google-Solar-Daten, Building-Liste. */

.page#p-solar-check.active{
  display:flex;flex-direction:column;
  height:calc(100vh - var(--hh));overflow:hidden;padding:0
}

/* Adress-Bar */
#p-solar-check .sc-bar{
  display:flex;gap: var(--space-2);align-items:center;
  padding: 10px var(--space-5);background:var(--sur);border-bottom:1px solid var(--bd);
  flex-shrink:0
}
#p-solar-check .sc-autocomplete{position:relative;flex:1;min-width:0}
#p-solar-check .sc-input{
  background:var(--sur2);border:1px solid var(--bd);color:var(--tx);
  border-radius: 7px;padding: 9px var(--space-3);font-size:13px;font-family:inherit;
  outline:none;transition:border-color .12s
}
#p-solar-check .sc-input:focus{border-color:var(--ac)}
#p-solar-check .sc-input-full{width:100%}
#p-solar-check .sc-bar .n-btn{font-size:12.5px;padding: 9px var(--space-4);white-space:nowrap}
#p-solar-check .sc-bar .n-btn:disabled{opacity:.55;cursor:not-allowed}

/* Suggestion-Dropdown */
#p-solar-check .sc-suggest{
  position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:500;
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  box-shadow:0 8px 24px rgba(0,0,0,.18);overflow:hidden
}
#p-solar-check .sc-suggest-item{
  padding: var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--bd);
  transition:background .12s
}
#p-solar-check .sc-suggest-item:last-child{border-bottom:0}
#p-solar-check .sc-suggest-item:hover{background:var(--sur2)}
#p-solar-check .sc-suggest-line1{font-size:12.5px;color:var(--tx);font-weight:500}
#p-solar-check .sc-suggest-line2{font-size:11px;color:var(--tx3);margin-top: 2px}

/* Grid Karte + Sidebar */
#p-solar-check .sc-pro-grid{
  flex:1;min-height:0;display:grid;
  grid-template-columns:1fr 360px;gap:0
}
@media (max-width:900px){
  #p-solar-check .sc-pro-grid{grid-template-columns:1fr;grid-template-rows:1fr auto}
}

/* Karte */
#p-solar-check .sc-map-card{
  position:relative;background:var(--sur2);overflow:hidden;min-height:400px
}
#p-solar-check .sc-map{width:100%;height:100%;min-height:400px}

/* Layer-Toggle oben rechts */
#p-solar-check .sc-layers{
  position:absolute;top:12px;right:12px;z-index:500;
  background:rgba(20,22,28,.92);border:1px solid var(--bd);
  border-radius: 8px;padding: var(--space-2) 10px;backdrop-filter:blur(4px);
  font-size:11px;color:#fff
}
[data-theme="light"] #p-solar-check .sc-layers{
  background:rgba(255,255,255,.95);color:#222
}
#p-solar-check .sc-layers[hidden]{display:none}
#p-solar-check .sc-layer-row{
  display:flex;align-items:center;gap: 6px;cursor:pointer;
  padding: 3px 0;line-height:1.3
}
#p-solar-check .sc-layer-row input{margin: 0;cursor:pointer}
#p-solar-check .sc-layer-sw{
  display:inline-block;width:14px;height:10px;border-radius: 2px;
  border:1px solid rgba(255,255,255,.4)
}
#p-solar-check .sw-roof{background:transparent;border-color:#22c55e;border-width:2px}
#p-solar-check .sw-pot{background:rgba(96,165,250,.35);border-color:#60a5fa}
#p-solar-check .sw-det{background:rgba(250,204,21,.45);border-color:#fbbf24;border-width:2px}

#p-solar-check .sc-map-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.55);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap: var(--space-3);z-index:600;backdrop-filter:blur(2px);color:#fff
}
#p-solar-check .sc-map-overlay[hidden]{display:none}
#p-solar-check .sc-map-overlay-text{font-size:13px;font-weight:500}
#p-solar-check .sc-map-spinner{
  width:36px;height:36px;border:3px solid rgba(255,255,255,.2);
  border-top-color:#fff;border-radius: 50%;animation:scSpin .9s linear infinite
}
@keyframes scSpin{to{transform:rotate(360deg)}}

/* Leaflet-Overrides */
#p-solar-check .leaflet-control-attribution{
  background:rgba(255,255,255,.85);font-size:9px;padding:2px 6px
}
#p-solar-check .leaflet-control-zoom a{
  background:var(--sur);border-color:var(--bd);color:var(--tx)
}
[data-theme="light"] #p-solar-check .leaflet-control-zoom a{
  background:#fff;border-color:#ddd;color:#222
}

/* Sidebar */
#p-solar-check .sc-side{
  background:var(--sur);border-left:1px solid var(--bd);
  display:flex;flex-direction:column;overflow-y:auto
}

/* Stats: 2×2 Grid (4 Tiles) */
#p-solar-check .sc-stats{
  display:grid;grid-template-columns:1fr 1fr;gap: 1px;
  background:var(--bd);border-bottom:1px solid var(--bd)
}
#p-solar-check .sc-stats[hidden]{display:none}
#p-solar-check .sc-stat{
  background:var(--sur2);padding: var(--space-3) 14px;text-align:center
}
#p-solar-check .sc-stat-l{
  font-size:9.5px;color:var(--tx3);text-transform:uppercase;
  letter-spacing:.06em;font-weight:500;margin-bottom:3px
}
#p-solar-check .sc-stat-v{
  font-family:'DM Mono',monospace;font-size:22px;font-weight:600;
  color:var(--tx);line-height:1
}
#p-solar-check .sc-stat-result.is-yes .sc-stat-v{color:var(--ac)}
#p-solar-check .sc-stat-result.is-no .sc-stat-v{color:var(--tx3)}
#p-solar-check .sc-stat-result.is-unsure .sc-stat-v{color:var(--ac3, #fbbf24)}
#p-solar-check .sc-stat-repowering .sc-stat-v{color:var(--ac2, #60a5fa)}
#p-solar-check .sc-stat-s{font-size:10px;color:var(--tx3);margin-top: 3px}

/* Block-Sektionen: GSAPI + Building-Liste */
#p-solar-check .sc-block{
  padding: var(--space-3) var(--space-4);border-bottom:1px solid var(--bd)
}
#p-solar-check .sc-block[hidden]{display:none}
#p-solar-check .sc-block-h{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:8px
}
#p-solar-check .sc-block-h h4{
  margin: 0;font-size:10.5px;font-weight:500;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.08em
}
#p-solar-check .sc-coverage{
  font-size:10px;padding: 2px 6px;border-radius: var(--radius-sm);
  background:var(--ac);color:#fff;font-weight:500
}
#p-solar-check .sc-coverage[data-q="MEDIUM"]{background:var(--ac3,#fbbf24);color:#222}
#p-solar-check .sc-coverage[data-q="BASE"]{background:var(--bd2);color:var(--tx)}

#p-solar-check .sc-kv{
  margin: 0;display:grid;grid-template-columns:auto 1fr;gap: var(--space-1) var(--space-3);font-size:11.5px
}
#p-solar-check .sc-kv dt{color:var(--tx3)}
#p-solar-check .sc-kv dd{margin: 0;color:var(--tx);font-family:'DM Mono',monospace}

#p-solar-check .sc-list-sub{font-size:10.5px;color:var(--tx3)}
#p-solar-check .sc-list{display:flex;flex-direction:column;gap: 6px}
#p-solar-check .sc-list-empty{
  padding: 18px var(--space-2);color:var(--tx3);font-size:12px;line-height:1.6;text-align:center
}
#p-solar-check .sc-list-empty p{margin: 0 0 var(--space-2)}

/* Building-Card pro Detektion */
#p-solar-check .sc-bldg{
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: 9px 11px;cursor:pointer;transition:border-color .12s
}
#p-solar-check .sc-bldg:hover{border-color:var(--bd2)}
#p-solar-check .sc-bldg.is-solar{border-left:3px solid var(--ac)}
#p-solar-check .sc-bldg.is-nosolar{border-left:3px solid var(--tx3)}
#p-solar-check .sc-bldg.is-unsure{border-left:3px solid var(--ac3,#fbbf24)}
#p-solar-check .sc-bldg-h{display:flex;align-items:center;gap: 6px;margin-bottom: var(--space-1)}
#p-solar-check .sc-bldg-icon{font-size:13px;width:16px;text-align:center}
#p-solar-check .sc-bldg.is-solar .sc-bldg-icon{color:var(--ac)}
#p-solar-check .sc-bldg.is-nosolar .sc-bldg-icon{color:var(--tx3)}
#p-solar-check .sc-bldg.is-unsure .sc-bldg-icon{color:var(--ac3,#fbbf24)}
#p-solar-check .sc-bldg-type{font-size:12.5px;font-weight:500;color:var(--tx)}
#p-solar-check .sc-bldg-pos{font-size:11px;color:var(--tx3)}
#p-solar-check .sc-bldg-conf{
  margin-left: auto;font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace
}
#p-solar-check .sc-bldg-panels{font-size:11px;color:var(--ac);font-weight:500}

/* Raw-Antwort */
#p-solar-check .sc-raw-wrap{
  margin: 0 var(--space-4) 14px;background:var(--sur2);border:1px solid var(--bd);
  border-radius: 7px;padding:6px 10px
}
#p-solar-check .sc-raw-wrap summary{
  font-size:10px;color:var(--tx3);cursor:pointer;
  text-transform:uppercase;letter-spacing:.06em;font-weight:500
}
#p-solar-check .sc-raw{
  margin-top: var(--space-2);font-family:'DM Mono',monospace;font-size:10px;
  color:var(--tx2);max-height:200px;overflow:auto;white-space:pre-wrap;word-break:break-all
}

#p-solar-check .sc-error{
  margin: 10px var(--space-4);background:rgba(248,113,113,.06);
  border:1px solid rgba(248,113,113,.3);color:var(--ac4);
  border-radius: 7px;padding: 10px var(--space-3);font-size:12px
}

/* Map-Marker-Label: kompakte „☀ 250" Box */
.sc-marker-label{
  background:rgba(250,204,21,.95);color:#1a1a1a;
  font-family:'DM Mono',monospace;font-size:11px;font-weight:700;
  padding: 3px 6px;border-radius: var(--radius-sm);border:1.5px solid #ca8a04;
  white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.3)
}

/* repowering-konzept.css: 2026-05-25 entfernt (Page gelöscht) */
/* Preisliste — kompakt (2026-05-24)
   Refactor: kein Hero, 4 Tier-Karten nebeneinander, Selbstkosten direkt
   im Schnell-Kalkulator. UI nüchtern (kein Gold-Lärm).
*/

#p-repowering-preisliste, #p-termine-leads-konzept {
  padding: var(--space-4) 22px;
  color: var(--tx);
  max-width: 1320px;
  margin: 0 auto;
}

/* ─── Header schlank ─── */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-header { margin-bottom: 14px; }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-header h1 {
  font-size: 20px; font-weight: 600; margin: 0 0 var(--space-1) 0;
  letter-spacing: -0.01em;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-header-sub {
  font-size: 12px; color: var(--tx3); margin: 0;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-header-sub a { color: var(--ac); }

/* ─── Schnell-Kalkulator ─── */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner {
  background: var(--sur); border-radius: 8px; padding: 14px 18px;
  margin-bottom: 18px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-grid {
  display: grid; grid-template-columns: 1fr 360px; gap: 18px;
}
@media (max-width: 980px) {
  #p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-grid { grid-template-columns: 1fr; }
}

#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-h {
  font-size: 11px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--ac); margin-bottom: 10px;
}

#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-kwp-field {
  display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: 14px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-kwp-field span {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; color: var(--tx3);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-kwp-field input {
  padding: var(--space-2) var(--space-3); background: var(--bg);
  border: 1px solid rgba(255,255,255,.10); border-radius: var(--radius-sm);
  color: var(--tx); font-family: 'DM Mono', monospace; font-size: 16px; font-weight: 600;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-kwp-field input:focus {
  outline: none; border-color: var(--ac);
}

/* Selbstkosten-Status (Defaults vs Live-Daten) */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-source {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 6px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-source-lbl {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); font-weight: 600;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-source-hint {
  font-size: 10px; color: var(--tx3); font-style: italic;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-source.is-live .pl-cost-source-hint {
  color: var(--ac); font-style: normal;
}

/* Kompaktes 4-Spalten-Grid für die 8 Inputs */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px;
}
@media (max-width: 720px) {
  #p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-grid { grid-template-columns: repeat(2, 1fr); }
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-grid label {
  display: flex; flex-direction: column; gap: 2px; font-size: 10px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-grid label span {
  font-size: 9px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--tx3);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-grid input {
  padding: var(--space-1) var(--space-2); background: var(--bg);
  border: 1px solid rgba(255,255,255,.08); border-radius: 3px;
  color: var(--tx); font-family: 'DM Mono', monospace; font-size: 12px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-grid input:focus {
  outline: none; border-color: var(--ac);
}

/* Detail-Aufschlüsselung (eingeklappt) */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-detail {
  margin-top: 14px; font-size: 11px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-detail summary {
  cursor: pointer; color: var(--tx3); padding: var(--space-1) 0;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-cost-detail summary:hover { color: var(--ac); }

/* Live-Ergebnis-Spalte */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-results {
  background: var(--bg); border-radius: var(--radius-md); padding: var(--space-3) 14px;
  display: flex; flex-direction: column; gap: var(--space-1);
  align-self: stretch;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-row {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: var(--space-1) var(--space-2); border-radius: 3px;
  font-family: 'DM Mono', monospace; font-size: 11.5px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-row .lbl { color: var(--tx3); font-family: inherit; }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-row .val { color: var(--tx); font-weight: 500; }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-row.is-cost { background: rgba(248,113,113,.07); }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-row.is-cost .val { color: var(--ac4); }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-row.is-margin {
  background: rgba(213,217,96,.12); border: 1px solid rgba(213,217,96,.30);
  padding: 7px 10px; margin: var(--space-1) 0;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-rechner-row.is-margin .val {
  color: var(--ac); font-weight: 700; font-size: 14px;
}

/* ─── 4 Tier-Karten Grid ─── */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
  margin-bottom: 18px;
}
@media (max-width: 1080px) {
  #p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  #p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-grid { grid-template-columns: 1fr; }
}

#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card {
  background: var(--sur); border-radius: 8px; padding: 14px var(--space-4);
  position: relative;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-recommended {
  background: rgba(213,217,96,.08);
  outline: 1px solid rgba(213,217,96,.30);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-badge {
  position: absolute; top: -8px; right: 12px;
  background: var(--ac); color: var(--bg);
  padding: 2px var(--space-2); border-radius: 3px;
  font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-h {
  font-weight: 600; font-size: 13px; margin-bottom: 6px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-price {
  font-size: 18px; font-weight: 700; color: var(--ac);
  font-family: 'DM Mono', monospace; line-height: 1.1;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-price span {
  font-size: 11px; color: var(--tx3); font-weight: 400; margin-left: var(--space-1);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-vol {
  font-size: 10px; color: var(--tx3); margin: var(--space-1) 0 var(--space-2) 0;
  text-transform: uppercase; letter-spacing: 0.04em;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-desc {
  font-size: 11px; color: var(--tx2); line-height: 1.5;
  margin-bottom: 10px; min-height: 50px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-table {
  width: 100%; border-collapse: collapse; font-size: 11px;
  margin-bottom: 10px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-table td {
  padding: 3px 0; color: var(--tx2); font-family: 'DM Mono', monospace;
  border-bottom: 1px solid rgba(255,255,255,.04);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-table td:last-child {
  text-align: right; color: var(--tx); font-weight: 500;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-calc {
  display: flex; flex-direction: column; gap: var(--space-1);
  padding: var(--space-2) 10px; margin-top: var(--space-1);
  background: rgba(255,255,255,.03); border-radius: var(--radius-sm);
  border-left: 2px solid rgba(255,255,255,.12);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-calc-h {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); font-weight: 600;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-calc-row {
  display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--tx3);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-calc-row label { flex: 1; }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-calc-row input {
  width: 80px; background: rgba(0,0,0,.2);
  border: 1px solid rgba(255,255,255,.10); border-radius: 3px;
  color: var(--tx); font-family: 'DM Mono', monospace;
  font-size: 11.5px; padding: 3px 6px; text-align: right;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-calc-row input:focus {
  outline: none; border-color: var(--ac);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-calc-out {
  font-size: 12px; font-weight: 600; color: var(--ac);
  font-family: 'DM Mono', monospace; margin-top: 2px;
}

#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-pot {
  display: flex; flex-direction: column; gap: 2px;
  padding: var(--space-2) 10px; margin-top: var(--space-1);
  background: rgba(255,255,255,.025); border-radius: var(--radius-sm);
  border-left: 2px solid var(--ac);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-pot-edit {
  display: flex; align-items: center; gap: 6px; font-size: 11px;
  color: var(--tx3); margin-bottom: 3px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-pot-edit label {
  min-width: 78px; color: var(--tx3);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-pot-edit input {
  width: 70px; background: rgba(0,0,0,.2);
  border: 1px solid rgba(255,255,255,.10); border-radius: 3px;
  color: var(--tx); font-family: 'DM Mono', monospace;
  font-size: 11.5px; padding: 3px 6px; text-align: right;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-pot-edit input:focus {
  outline: none; border-color: var(--ac);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-pot-num {
  font-size: 13px; font-weight: 600; color: var(--ac);
  font-family: 'DM Mono', monospace; margin-top: var(--space-1);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-pot-note {
  font-size: 10px; color: var(--tx3); line-height: 1.4;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-tier-card-target {
  font-size: 10px; color: var(--tx3); padding-top: var(--space-2);
  border-top: 1px solid rgba(255,255,255,.06);
  text-transform: uppercase; letter-spacing: 0.04em;
}

/* ─── Gesamt-Pool-Potenzial (live aus Tier-Festpreisen) ─── */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total {
  background: var(--sur); border: 1px solid var(--bd); border-radius: 8px;
  padding: 18px 22px; margin: 0 0 18px 0;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total .pl-h4 { margin: 0 0 var(--space-1) 0; }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-sub {
  font-size: 11.5px; color: var(--tx3); margin: 0 0 var(--space-3) 0; line-height: 1.5;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-table {
  width: 100%; border-collapse: collapse; font-size: 12px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-table th {
  text-align: left; padding: 6px 10px; font-size: 10px;
  text-transform: uppercase; letter-spacing: 0.05em; color: var(--tx3);
  font-weight: 500; border-bottom: 1px solid var(--bd);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-table td {
  padding: var(--space-2) 10px; color: var(--tx2);
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: 'DM Mono', monospace; font-size: 11.5px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-val {
  text-align: right; color: var(--ac); font-weight: 600; font-size: 12.5px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-sum {
  border-top: 2px solid var(--bd);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-sum td {
  background: rgba(var(--ac-rgb,180,140,40),.05);
  font-size: 11px; color: var(--tx3); padding-top: 10px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-sum .pl-pool-total-val {
  font-size: 14px; padding-top: 10px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-pool-total-note {
  font-size: 10.5px; color: var(--tx3); margin: 10px 0 0 0; line-height: 1.5;
}

/* ─── Extras (Bundles + Rabatte side-by-side) ─── */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-extras {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3);
  margin-bottom: 18px;
}
@media (max-width: 720px) {
  #p-repowering-preisliste, #p-termine-leads-konzept .pl-extras { grid-template-columns: 1fr; }
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-extra-block {
  background: var(--sur); border-radius: 8px; padding: var(--space-3) var(--space-4);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-h4 {
  font-size: 11px; font-weight: 600; margin: 0 0 var(--space-2) 0;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--tx3);
}

/* Tabellen Standard */
#p-repowering-preisliste, #p-termine-leads-konzept .pl-grid-table {
  width: 100%; border-collapse: collapse; font-size: 11.5px;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-grid-table th {
  text-align: left; padding: var(--space-1) var(--space-2); color: var(--tx3); font-weight: 500;
  font-size: 9px; text-transform: uppercase; letter-spacing: 0.05em;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-grid-table td {
  padding: var(--space-1) var(--space-2); border-bottom: 1px solid rgba(255,255,255,.04);
  color: var(--tx2); font-family: 'DM Mono', monospace; font-size: 11.5px;
  vertical-align: top;
}
#p-repowering-preisliste, #p-termine-leads-konzept .pl-grid-table tr:last-child td { border-bottom: none; }
#p-repowering-preisliste, #p-termine-leads-konzept .pl-grid-table strong {
  color: var(--tx); font-weight: 600;
}

#p-repowering-preisliste, #p-termine-leads-konzept .pl-foot {
  font-size: 10px; color: var(--tx3); margin-top: 14px;
  padding-top: 10px; border-top: 1px solid rgba(255,255,255,.06);
  font-style: italic; text-align: center;
}

/* Investor-tauglicher schlanker Kalkulator (2026-05-25).
 * Headline-Pool-Potenzial oben, 4 schlanke Tier-Karten darunter,
 * Selbstkosten/Marge + Bundles aufklappbar.
 * Bewusst KEIN Override der existierenden pl-*-Klassen — wir nutzen
 * eigene plk-*-Klassen (preisliste-kompakt).
 */

/* ── Headline ─────────────────────────────────────────────────── */
#p-termine-leads-konzept .plk-headline {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  border: 1px solid var(--bd);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
  margin-bottom: 18px;
}
#p-termine-leads-konzept .plk-headline-h {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--tx3);
  font-weight: 600;
  margin-bottom: var(--space-3);
}
#p-termine-leads-konzept .plk-headline-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
@media (max-width: 900px) {
  #p-termine-leads-konzept .plk-headline-grid { grid-template-columns: repeat(2, 1fr); }
}
#p-termine-leads-konzept .plk-headline-tier {
  padding: 10px var(--space-3);
  border-left: 2px solid rgba(255,255,255,.08);
}
#p-termine-leads-konzept .plk-headline-tier-on {
  border-left-color: var(--ac);
}
#p-termine-leads-konzept .plk-headline-tier-lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--tx3);
  margin-bottom: 6px;
}
#p-termine-leads-konzept .plk-headline-tier-val {
  font-family: 'DM Mono', monospace;
  font-size: 22px;
  font-weight: 600;
  color: var(--tx);
  letter-spacing: -.01em;
}
#p-termine-leads-konzept .plk-headline-tier-on .plk-headline-tier-val {
  color: var(--ac);
}
#p-termine-leads-konzept .plk-headline-tier-sub {
  font-size: 10.5px;
  color: var(--tx3);
  margin-top: var(--space-1);
}

/* ── 4 Tier-Karten ─────────────────────────────────────────────── */
#p-termine-leads-konzept .plk-tiers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
  margin-bottom: 18px;
}
@media (max-width: 900px) {
  #p-termine-leads-konzept .plk-tiers { grid-template-columns: repeat(2, 1fr); }
}
#p-termine-leads-konzept .plk-tier {
  position: relative;
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: var(--radius-lg);
  padding: var(--space-4) 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#p-termine-leads-konzept .plk-tier-on {
  border-color: var(--ac);
  box-shadow: 0 0 0 1px rgba(212, 175, 55, .12) inset;
}
#p-termine-leads-konzept .plk-tier-flag {
  position: absolute;
  top: -8px;
  right: 12px;
  background: var(--ac);
  color: var(--ac-on);
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
  padding: 3px var(--space-2);
  border-radius: 3px;
}
#p-termine-leads-konzept .plk-tier-h {
  font-size: 13px;
  font-weight: 600;
  color: var(--tx);
}
#p-termine-leads-konzept .plk-tier-claim {
  font-size: 11.5px;
  color: var(--tx3);
  min-height: 28px;
}
#p-termine-leads-konzept .plk-tier-input {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
}
#p-termine-leads-konzept .plk-tier-input label {
  color: var(--tx3);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 10px;
  font-weight: 600;
  min-width: 78px;
}
#p-termine-leads-konzept .plk-tier-input input {
  flex: 1;
  padding: 5px var(--space-2);
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: var(--radius-sm);
  color: var(--tx);
  font-family: 'DM Mono', monospace;
  font-size: 11.5px;
  text-align: right;
}
#p-termine-leads-konzept .plk-tier-input input:focus {
  outline: none;
  border-color: var(--ac);
}
#p-termine-leads-konzept .plk-tier-input span {
  font-size: 10.5px;
  color: var(--tx3);
}
#p-termine-leads-konzept .plk-tier-out {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed rgba(255,255,255,.08);
  font-family: 'DM Mono', monospace;
  font-size: 17px;
  font-weight: 600;
  color: var(--ac);
  letter-spacing: -.01em;
}

/* ── Aufklapp-Details ─────────────────────────────────────────── */
#p-termine-leads-konzept .plk-details {
  margin-top: 14px;
  border: 1px solid var(--bd);
  border-radius: 8px;
  background: var(--sur);
}
#p-termine-leads-konzept .plk-details > summary {
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  font-size: 12px;
  color: var(--tx2);
  font-weight: 500;
  user-select: none;
  list-style: none;
}
#p-termine-leads-konzept .plk-details > summary::-webkit-details-marker { display: none; }
#p-termine-leads-konzept .plk-details > summary:hover { color: var(--ac); }
#p-termine-leads-konzept .plk-details[open] > summary {
  border-bottom: 1px solid var(--bd);
  color: var(--tx);
}
#p-termine-leads-konzept .plk-details > section {
  padding: 0 var(--space-4) var(--space-4);
}

/* Build-History-Log */
#p-termine-leads-konzept .tlk-build-log {
  margin: 0;
  padding: 0 var(--space-4) 0 var(--space-6);
  list-style: decimal;
  color: var(--tx2);
  font-size: 12px;
  line-height: 1.7;
}
#p-termine-leads-konzept .tlk-build-log li {
  margin-bottom: var(--space-1);
}
#p-termine-leads-konzept .tlk-build-date {
  display: inline-block;
  font-family: 'DM Mono', monospace;
  font-size: 10.5px;
  color: var(--tx3);
  margin-right: var(--space-2);
  letter-spacing: -.01em;
}

/* Kunden · DMS · Bestellübersicht (2026-05-28)
   Plattform-Stil, einheitliche Typografie. Alles Inter, Mono nur für Zahlen. */

#p-kd-orders{ padding: 18px 22px; color:var(--tx); }

/* ── Hero (Mandant + KPIs) ──────────────────────────────────────── */
/* 2026-05-29: fixe min-height fuer Konsistenz mit Pipeline-Header.
   Vorher brachen die Hoehen-Unterschiede zwischen Bestelluebersicht +
   Pipeline auseinander wenn beide Pages gewechselt wurden. */
#p-kd-orders .kd-hero{
  display:flex; justify-content:space-between; align-items:center;
  gap: var(--space-5); min-height: 56px;
  margin-bottom: var(--space-4); padding-bottom: var(--space-3);
  border-bottom:1px solid rgba(0,0,0,.08);
}
#p-kd-orders .kd-hero-title{
  font-size:17px; font-weight:600; margin: 0;
  color:var(--tx); letter-spacing:-.01em;
}
#p-kd-orders .kd-hero-sub{
  font-size:12px; color:var(--tx3); margin: 0; line-height:1.55;
  font-weight:400;
}
/* 2026-05-29: KPIs schmal wie Stage-Pills in der Pipeline.
   Inline-Pills statt Karten — kompakter, einheitlicher Look. */
#p-kd-orders .kd-kpis {
  display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
}
#p-kd-orders .kd-kpi {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--sur); border: 1px solid var(--bd);
  border-radius: var(--radius-pill);
  padding: 4px 12px;
  font-size: 11.5px;
}
#p-kd-orders .kd-kpi-l {
  color: var(--tx3); font-weight: 500;
  font-size: 11px; text-transform: none; letter-spacing: 0;
  margin: 0;
}
#p-kd-orders .kd-kpi-v {
  font-family: 'DM Mono', monospace;
  font-size: 12px; font-weight: 500; color: var(--tx);
  line-height: 1;
}

/* ── Sektion ────────────────────────────────────────────────────── */
#p-kd-orders .kd-section{ margin-bottom: 26px; }
#p-kd-orders .kd-section-head{
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom: 10px; gap: var(--space-3);
}
#p-kd-orders .kd-section-h{
  font-size:11px; font-weight:600; margin: 0;
  text-transform:uppercase; letter-spacing:.06em; color:var(--tx3);
}
#p-kd-orders .kd-section-hint{
  font-size:11px; color:var(--tx3); font-weight:400;
}

/* ── Tabelle — alles Inter, ein Gewicht, eine Größe ─────────────── */
#p-kd-orders .kd-table{
  width:100%; border-collapse:collapse;
  background:var(--sur); border-radius: var(--radius-md); overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  font-family:'Inter', sans-serif; font-size:12px;
}
#p-kd-orders .kd-table th{
  text-align:left; padding: 6px 10px;
  color:var(--tx3); font-weight:500;
  font-size:9.5px; text-transform:uppercase; letter-spacing:.05em;
  background:var(--sur2); border-bottom:1px solid rgba(0,0,0,.08);
  font-family:'Inter', sans-serif;
}
#p-kd-orders .kd-table td{
  padding: 6px 10px;
  border-bottom:1px solid rgba(0,0,0,.04);
  color:var(--tx); font-weight:400;
  vertical-align:middle;
  font-family:'Inter', sans-serif;
  line-height:1.4;
}
#p-kd-orders .kd-table tr:last-child td{ border-bottom:none; }
#p-kd-orders .kd-table tbody tr.kd-row-click{
  cursor:pointer; transition:background .12s ease;
}
#p-kd-orders .kd-table tbody tr.kd-row-click:hover{ background:var(--sur2); }

/* Spezialformat NUR für Datum (Monospace, dezent) */
#p-kd-orders .kd-table .kd-date{
  font-family:'DM Mono', monospace; color:var(--tx2); font-size:11.5px;
}
/* Firma bleibt normal Inter — nicht bold, nicht hervorgehoben */

/* ── Status-Pills (einziger Akzent) ─────────────────────────────── */
#p-kd-orders .kd-status{
  display:inline-block; padding: 2px var(--space-2); border-radius: var(--radius-lg);
  font-size:10px; text-transform:uppercase; letter-spacing:.05em;
  font-weight:500; font-family:'Inter', sans-serif;
}
#p-kd-orders .kd-status-neu{ background:rgba(245,158,11,.15); color:#b67700; }
#p-kd-orders .kd-status-matched{ background:rgba(122,128,36,.18); color:#5a6020; }
#p-kd-orders .kd-status-pending{ background:rgba(245,158,11,.15); color:#b67700; }
#p-kd-orders .kd-status-paid{ background:rgba(122,128,36,.18); color:#5a6020; }
#p-kd-orders .kd-status-delivered{ background:rgba(122,128,36,.22); color:#5a6020; }
#p-kd-orders .kd-status-cancelled{ background:rgba(248,113,113,.14); color:#b91c1c; }

#p-kd-orders .kd-empty{
  text-align:center; color:var(--tx3);
  padding: var(--space-5) var(--space-3); font-size:12px; font-style:normal;
  font-family:'Inter', sans-serif;
}

/* ═══════════════════════════════════════════════════════════════
   SLIDE-IN DRAWER (Kundenansicht-light)
═══════════════════════════════════════════════════════════════ */
#p-kd-orders .kd-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:899;
}
#p-kd-orders .kd-backdrop.open{ opacity:1; pointer-events:auto; }

#p-kd-orders .kd-drawer{
  position:fixed; top:0; right:0; bottom:0; width:520px; max-width:94vw;
  background:var(--bg); border-left:1px solid rgba(0,0,0,.10);
  box-shadow:-14px 0 36px rgba(0,0,0,.18);
  transform:translateX(100%); transition:transform .25s ease;
  z-index:900; display:flex; flex-direction:column;
}
#p-kd-orders .kd-drawer.open{ transform:translateX(0); }

/* Drawer-Header */
#p-kd-orders .kd-drawer-head{
  padding: 20px var(--space-5) var(--space-4) var(--space-5);
  border-bottom:1px solid rgba(0,0,0,.06);
  position:relative;
}
#p-kd-orders .kd-drawer-eyebrow{
  font-size:10px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--tx3); margin-bottom: 6px; font-weight:500;
}
#p-kd-orders .kd-drawer-title{
  font-size:16px; font-weight:600; color:var(--tx); margin: 0 0 var(--space-1) 0;
  line-height:1.3; letter-spacing:-.01em;
}
#p-kd-orders .kd-drawer-sub{
  font-size:12px; color:var(--tx3); line-height:1.5;
}
#p-kd-orders .kd-drawer-close{
  position:absolute; top:16px; right:18px;
  background:transparent; border:none; color:var(--tx3); font-size:22px;
  cursor:pointer; line-height:1; padding: var(--space-1) var(--space-2); border-radius: 5px;
  font-family:'Inter', sans-serif;
}
#p-kd-orders .kd-drawer-close:hover{ background:var(--sur2); color:var(--tx); }

/* Action-Bar im Drawer */
#p-kd-orders .kd-drawer-actions{
  display:flex; gap: 6px; flex-wrap:wrap;
  padding: 10px var(--space-5); border-bottom:1px solid rgba(0,0,0,.06);
  background:var(--sur);
}
#p-kd-orders .kd-drawer-actions button{
  padding: 5px 11px; border:1px solid rgba(0,0,0,.10); border-radius: var(--radius-sm);
  background:var(--bg); color:var(--tx2); cursor:pointer;
  font-size:11.5px; font-family:'Inter', sans-serif; font-weight:400;
}
#p-kd-orders .kd-drawer-actions button:hover{
  background:var(--sur2); color:var(--tx);
}

/* Drawer-Body */
#p-kd-orders .kd-drawer-body{
  flex:1; overflow-y:auto; padding: 18px var(--space-5) 20px var(--space-5);
}
#p-kd-orders .kd-block{
  margin-bottom: 20px; padding-bottom: var(--space-4);
  border-bottom:1px solid rgba(0,0,0,.05);
}
#p-kd-orders .kd-block:last-child{ border-bottom:none; margin-bottom: 0; }
#p-kd-orders .kd-block-h{
  font-size:10px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--tx3); margin: 0 0 10px 0; font-weight:600;
}
#p-kd-orders .kd-prop{
  display:flex; justify-content:space-between; align-items:baseline;
  gap: 14px; padding: 5px 0; font-size:12.5px;
  font-family:'Inter', sans-serif;
}
#p-kd-orders .kd-prop-l{
  color:var(--tx3); font-weight:400;
  flex-shrink:0;
}
#p-kd-orders .kd-prop-v{
  color:var(--tx); font-weight:400;
  text-align:right; word-break:break-word;
}
#p-kd-orders .kd-prop-v.is-mono{
  font-family:'DM Mono', monospace; color:var(--tx2);
}
#p-kd-orders .kd-bemerkung{
  background:var(--sur); padding: var(--space-3) 14px; border-radius: 5px;
  font-size:12.5px; color:var(--tx); line-height:1.55;
  border:1px solid rgba(0,0,0,.06);
  font-family:'Inter', sans-serif;
}
#p-kd-orders .kd-recording{
  margin-top: 10px; width:100%;
}

/* Drawer-Footer */
#p-kd-orders .kd-drawer-foot{
  padding: var(--space-3) var(--space-5); border-top:1px solid rgba(0,0,0,.06);
  display:flex; justify-content:flex-end; gap: var(--space-2);
}
#p-kd-orders .kd-btn{
  padding: 7px 14px; border-radius: 5px; border:1px solid rgba(0,0,0,.10);
  background:var(--bg); color:var(--tx2); cursor:pointer;
  font-size:12px; font-family:'Inter', sans-serif; font-weight:400;
}
#p-kd-orders .kd-btn:hover{ background:var(--sur2); color:var(--tx); }
#p-kd-orders .kd-btn.kd-btn-pri{
  background:var(--ac); color:var(--bg); border-color:var(--ac); font-weight:500;
}
#p-kd-orders .kd-btn.kd-btn-pri:hover{ filter:brightness(1.05); }

/* ═══════════════════════════════════════════════════════════════
   Anpassungen am Pipeline-Slide-In für DMS-Sicht
═══════════════════════════════════════════════════════════════ */

/* :has()-Hide wurde entfernt — funktioniert nicht zuverlässig in allen Browsern.
   Stattdessen JS-Cleanup in kd-dms-orders-v2.js _cleanupSlideInForDms(). */

/* Side-Tabs in DMS-Sicht: E-Mail / WhatsApp / Aufgabe ausgrauen
   (Module noch nicht produktiv). MaStR bleibt aktiv.
   Layout bleibt, nicht klickbar. */
#p-kd-orders #rp-side-mail,
#p-kd-orders #rp-side-whatsapp,
#p-kd-orders #rp-side-task{
  opacity:0.45;
  pointer-events:none;
  cursor:default;
}
#p-kd-orders #rp-side-mail:hover,
#p-kd-orders #rp-side-whatsapp:hover,
#p-kd-orders #rp-side-task:hover{
  background:transparent;
  color:inherit;
}

/* ═══════════════════════════════════════════════════════════════
   DMS MaStR-Block — kompakt + unauffällig (Pipeline unverändert)
═══════════════════════════════════════════════════════════════ */

#p-kd-orders .rp-mastr{
  margin-top: 10px;
  padding: var(--space-2) 10px;
  border-radius: var(--radius-md);
  border:1px solid rgba(0,0,0,.06);
  background:var(--sur2);
}
#p-kd-orders .rp-mastr-h{
  font-size:10px;
  letter-spacing:.05em;
  margin-bottom: 6px;
}
#p-kd-orders .rp-mastr-icon{
  width:14px; height:14px; font-size:9px;
}
#p-kd-orders .rp-eeg-banner{
  margin-bottom: var(--space-2);
  padding: var(--space-2) 10px;
  border-radius: 5px;
  font-size:11px;
}
#p-kd-orders .rp-eeg-label{ font-size:11.5px; }
#p-kd-orders .rp-eeg-sub{ font-size:10.5px; }
#p-kd-orders .rp-mastr-kv{
  grid-template-columns:120px 1fr;
  gap: 2px var(--space-3);
  font-size:11.5px;
  line-height:1.4;
}
#p-kd-orders .rp-mastr-kv dt{ color:var(--tx3); }
#p-kd-orders .rp-mastr-kv dd strong{ font-size:11.5px; font-weight:500; }
#p-kd-orders .rp-mastr-age{ font-size:10px; }
#p-kd-orders .rp-mastr-anl-list{
  margin-top: var(--space-2);
  padding: 6px var(--space-2);
  background:transparent;
  border:1px solid rgba(0,0,0,.05);
  border-radius: 5px;
}
#p-kd-orders .rp-mastr-anl-h{
  font-size:9.5px;
  margin-bottom: var(--space-1);
  letter-spacing:.05em;
}
#p-kd-orders .rp-mastr-anl-ol{ gap: 2px; }
#p-kd-orders .rp-mastr-anl-ol li{
  grid-template-columns:80px 50px 1fr;
  padding: 3px 6px;
  gap: var(--space-2);
  font-size:11px;
  background:transparent;
  border:none;
}
#p-kd-orders .rp-mastr-anl-kwp{ font-weight:500; }
#p-kd-orders .rp-mastr-source{
  margin-top: 6px;
  font-size:10px;
  color:var(--tx3);
}


/* Kunden · DMS · Pipeline (2026-05-29) — 3-View-Layout */

#p-kd-pipeline { padding: 18px 22px; color: var(--tx); }

/* Side-Tabs in DMS-Kunden-Sicht: E-Mail / WhatsApp / Aufgabe ausgrauen
   (Module noch nicht fuer Kaeufer freigegeben). MaStR bleibt aktiv.
   Pattern fuer alle kuenftigen kd-<tenant>-pipeline Pages wiederholbar. */
#p-kd-pipeline #rp-side-mail,
#p-kd-pipeline #rp-side-whatsapp,
#p-kd-pipeline #rp-side-task {
  opacity: 0.45;
  pointer-events: none;
  cursor: default;
}
#p-kd-pipeline #rp-side-mail:hover,
#p-kd-pipeline #rp-side-whatsapp:hover,
#p-kd-pipeline #rp-side-task:hover {
  background: transparent;
  color: inherit;
}

/* Hero-Header — exakt gleicher Stil wie kd-dms-orders (min-height + margin
   + padding-bottom identisch), damit Border-Linie beim Page-Wechsel nicht
   springt. */
#p-kd-pipeline .kd-hero {
  display:flex; justify-content:space-between; align-items:center;
  gap: var(--space-5); min-height: 56px;
  margin-bottom: var(--space-4); padding-bottom: var(--space-3);
  border-bottom:1px solid rgba(0,0,0,.08);
}
#p-kd-pipeline .kd-hero-title {
  font-size:17px; font-weight:600; margin: 0;
  color:var(--tx); letter-spacing:-.01em;
}
#p-kd-pipeline .dp-wrap { max-width: 1400px; }

/* Hero + Stage-KPIs */
#p-kd-pipeline .dp-hero {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: var(--space-5); margin-bottom: var(--space-4); padding-bottom: var(--space-4);
  border-bottom: 1px solid rgba(0,0,0,.08); flex-wrap: wrap;
}
#p-kd-pipeline .dp-h1 {
  font-size: 17px; font-weight: 600; margin: 0 0 var(--space-1) 0;
  color: var(--tx); letter-spacing: -.01em;
}
#p-kd-pipeline .dp-sub {
  font-size: 12px; color: var(--tx3); margin: 0;
}
#p-kd-pipeline .dp-stage-kpis {
  display: flex; gap: 6px; flex-wrap: wrap;
}
#p-kd-pipeline .dp-kpi {
  background: var(--sur); border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-sm); padding: 6px 10px; min-width: 78px;
}
#p-kd-pipeline .dp-kpi-l {
  font-size: 9.5px; text-transform: uppercase; letter-spacing: .04em;
  margin-bottom: 2px; font-weight: 600;
}
#p-kd-pipeline .dp-kpi-v {
  font-size: 17px; font-weight: 600; color: var(--tx);
  font-family: 'DM Mono', monospace; line-height: 1;
}

/* Toolbar */
#p-kd-pipeline .dp-toolbar {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: var(--space-3); gap: var(--space-3);
}
#p-kd-pipeline .dp-view-toggle {
  display: flex; gap: 2px; background: var(--sur); padding: 2px;
  border-radius: var(--radius-md); border: 1px solid rgba(0,0,0,.06);
}
#p-kd-pipeline .dp-view-btn {
  padding: 6px var(--space-3); background: transparent; border: none;
  font-family: 'Inter', sans-serif; font-size: 11.5px; color: var(--tx2);
  border-radius: var(--radius-sm); cursor: pointer;
}
#p-kd-pipeline .dp-view-btn:hover { background: var(--sur2); color: var(--tx); }
#p-kd-pipeline .dp-view-btn.is-active { background: var(--ac); color: var(--bg); font-weight: 500; }
#p-kd-pipeline .dp-toolbar-r {
  display: flex; align-items: center; gap: var(--space-3);
  font-size: 11.5px;
}
#p-kd-pipeline .dp-muted { color: var(--tx3); }
#p-kd-pipeline .dp-link { color: var(--ac); text-decoration: none; }
#p-kd-pipeline .dp-mono { font-family: 'DM Mono', monospace; color: var(--tx2); font-size: 11.5px; }

/* View-Container — nur active wird angezeigt */
#p-kd-pipeline .dp-view { display: none; }
#p-kd-pipeline .dp-view.is-active { display: block; }

/* Liste */
#p-kd-pipeline .dp-table {
  width: 100%; border-collapse: collapse;
  background: var(--sur); border-radius: var(--radius-md); overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  font-family: 'Inter', sans-serif; font-size: 12.5px;
}
#p-kd-pipeline .dp-table th {
  text-align: left; padding: 10px 14px;
  color: var(--tx3); font-weight: 500;
  font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  background: var(--sur2); border-bottom: 1px solid rgba(0,0,0,.08);
}
#p-kd-pipeline .dp-table td {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0,0,0,.04);
  color: var(--tx); vertical-align: middle;
}
#p-kd-pipeline .dp-table tbody tr:hover { background: var(--sur2); cursor: pointer; }
#p-kd-pipeline .dp-stage-select {
  padding: 4px 6px; font-size: 11px;
  background: var(--bg); color: var(--tx);
  border: 1px solid rgba(0,0,0,.10); border-radius: var(--radius-sm);
  font-family: 'Inter', sans-serif;
}

/* Stage-Pill */
#p-kd-pipeline .dp-stage {
  display: inline-block; padding: 2px var(--space-2);
  border-radius: var(--radius-pill);
  font-size: 9.5px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em;
  font-family: 'Inter', sans-serif;
}

/* Karten-Grid */
#p-kd-pipeline .dp-cards-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-3);
}
#p-kd-pipeline .dp-card {
  background: var(--sur); border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-md); padding: var(--space-3) var(--space-4);
  cursor: pointer; transition: background .12s ease, border-color .12s ease;
}
#p-kd-pipeline .dp-card:hover { background: var(--sur2); border-color: rgba(0,0,0,.10); }
#p-kd-pipeline .dp-card-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: var(--space-2);
}
#p-kd-pipeline .dp-card-date { font-size: 11px; }
#p-kd-pipeline .dp-card-firma {
  font-size: 13px; font-weight: 500; color: var(--tx); margin-bottom: var(--space-1);
  line-height: 1.3; word-break: break-word;
}
#p-kd-pipeline .dp-card-meta {
  font-size: 11.5px; color: var(--tx2); margin-bottom: var(--space-2);
  line-height: 1.4;
}
#p-kd-pipeline .dp-card-foot {
  font-size: 10.5px; color: var(--tx3);
}

/* Board */
#p-kd-pipeline .dp-board {
  display: grid; grid-template-columns: repeat(6, minmax(180px, 1fr));
  gap: var(--space-2);
  overflow-x: auto;
}
@media (max-width: 1100px) {
  #p-kd-pipeline .dp-board { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
}
#p-kd-pipeline .dp-col {
  background: var(--sur); border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-md); display: flex; flex-direction: column;
  min-height: 200px;
}
#p-kd-pipeline .dp-col-head {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid rgba(0,0,0,.06);
  border-top: 3px solid var(--tx3);
  display: flex; justify-content: space-between; align-items: center;
  background: var(--sur2);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}
#p-kd-pipeline .dp-col-label {
  font-size: 10px; text-transform: uppercase; letter-spacing: .05em;
  color: var(--tx2); font-weight: 600;
}
#p-kd-pipeline .dp-col-count {
  font-family: 'DM Mono', monospace; font-size: 11px;
  background: var(--bg); color: var(--tx3);
  padding: 1px 6px; border-radius: 3px; font-weight: 500;
}
#p-kd-pipeline .dp-col-body {
  padding: var(--space-2); display: flex; flex-direction: column; gap: 6px;
  flex: 1; overflow-y: auto;
}
#p-kd-pipeline .dp-col-empty {
  color: var(--tx3); font-size: 11px; text-align: center; padding: var(--space-3);
}
#p-kd-pipeline .dp-bcard {
  background: var(--bg); border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-sm); padding: var(--space-2) 10px;
  cursor: pointer; transition: border-color .12s ease;
}
#p-kd-pipeline .dp-bcard:hover { border-color: var(--ac); }
#p-kd-pipeline .dp-bcard-firma {
  font-size: 11.5px; font-weight: 500; color: var(--tx); margin-bottom: 2px;
  line-height: 1.3; word-break: break-word;
}
#p-kd-pipeline .dp-bcard-meta {
  font-size: 10.5px; color: var(--tx2); margin-bottom: var(--space-1);
}
#p-kd-pipeline .dp-bcard-foot {
  font-size: 10px;
}

/* Empty-State */
#p-kd-pipeline .dp-empty {
  text-align: center; padding: var(--space-6) var(--space-3);
  color: var(--tx3); font-size: 12.5px; font-style: italic;
}

/* Pagination — eigener Style weil auto-generiertes rp-Klone-CSS unsauber ist */
#p-kd-pipeline .pagi {
  display: flex; gap: 4px; padding: var(--space-3) var(--space-4);
  border-top: 1px solid rgba(0,0,0,.06);
  background: var(--sur);
  flex-wrap: wrap; align-items: center;
}
#p-kd-pipeline .pagi button {
  min-width: 30px; height: 28px; padding: 0 10px;
  border: 1px solid rgba(0,0,0,.10); border-radius: var(--radius-sm);
  background: var(--bg); color: var(--tx2); cursor: pointer;
  font-family: 'Inter', sans-serif; font-size: 11.5px;
}
#p-kd-pipeline .pagi button:hover { background: var(--sur2); color: var(--tx); }
#p-kd-pipeline .pagi button.on {
  background: var(--ac); color: var(--bg); border-color: var(--ac); font-weight: 500;
}
#p-kd-pipeline .pagi button:disabled { opacity: .4; cursor: not-allowed; }

/* Board (Drag&Drop, Welle 1 Polish 2026-05-29) */
#p-kd-pipeline .dp-board {
  display: grid; grid-template-columns: repeat(6, minmax(180px, 1fr));
  gap: var(--space-2); overflow-x: auto; padding-top: var(--space-2);
}
@media (max-width: 1100px) {
  #p-kd-pipeline .dp-board { grid-template-columns: repeat(3, minmax(220px, 1fr)); }
}
#p-kd-pipeline .dp-col {
  background: var(--sur); border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-md); display: flex; flex-direction: column;
  min-height: 200px;
}
#p-kd-pipeline .dp-col-head {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid rgba(0,0,0,.06);
  background: var(--sur2);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  display: flex; justify-content: space-between; align-items: center;
}
#p-kd-pipeline .dp-col-label {
  font-size: 10px; text-transform: uppercase; letter-spacing: .05em;
  color: var(--tx2); font-weight: 600;
}
#p-kd-pipeline .dp-col-count {
  font-family: 'DM Mono', monospace; font-size: 11px;
  background: var(--bg); color: var(--tx3);
  padding: 1px 6px; border-radius: 3px; font-weight: 500;
}
#p-kd-pipeline .dp-col-body {
  padding: var(--space-2); display: flex; flex-direction: column; gap: 6px;
  flex: 1; overflow-y: auto;
  transition: background .12s ease;
  min-height: 100px;
}
#p-kd-pipeline .dp-col-body.is-drop-over {
  background: rgba(122,128,36,.10);
  box-shadow: inset 0 0 0 2px var(--ac);
  border-radius: var(--radius-sm);
}
#p-kd-pipeline .dp-col-empty {
  color: var(--tx3); font-size: 11px; text-align: center; padding: var(--space-3);
}
#p-kd-pipeline .dp-bcard {
  background: var(--bg); border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-sm); padding: var(--space-2) 10px;
  cursor: grab; transition: border-color .12s ease, opacity .12s ease, transform .12s ease;
  user-select: none;
}
#p-kd-pipeline .dp-bcard:hover { border-color: var(--ac); }
#p-kd-pipeline .dp-bcard:active { cursor: grabbing; }
#p-kd-pipeline .dp-bcard.is-dragging {
  opacity: .35; transform: scale(.96);
}
#p-kd-pipeline .dp-bcard-firma {
  font-size: 11.5px; font-weight: 500; color: var(--tx); margin-bottom: 2px;
  line-height: 1.3; word-break: break-word;
}
#p-kd-pipeline .dp-bcard-meta {
  font-size: 10.5px; color: var(--tx2); margin-bottom: var(--space-1);
}
#p-kd-pipeline .dp-bcard-foot {
  font-size: 10px; color: var(--tx3);
  font-family: 'DM Mono', monospace;
}

/* Bulk-Aktionen (Welle 2 Polish 2026-05-29) */
#p-kd-pipeline .dp-bulk-toggle {
  margin-left: auto; font-size: 11px; color: var(--tx2);
  display: inline-flex; align-items: center; gap: var(--space-1);
  cursor: pointer; user-select: none;
}
#p-kd-pipeline .dp-bulk-toggle input { cursor: pointer; accent-color: var(--ac); }
#p-kd-pipeline .dp-col-check {
  width: 32px; padding: 6px var(--space-2);
}
#p-kd-pipeline .dp-col-check input { cursor: pointer; accent-color: var(--ac); }
#p-kd-pipeline tr.is-bulk-on { background: rgba(213,217,96,.10); }
#p-kd-pipeline tr.is-bulk-on:hover { background: rgba(213,217,96,.16); }

#p-kd-pipeline .dp-bulkbar {
  display: flex; align-items: center; gap: var(--space-2);
  padding: var(--space-2) var(--space-3); margin-bottom: var(--space-3);
  background: rgba(213,217,96,.12); border: 1px solid rgba(213,217,96,.30);
  border-radius: var(--radius-md);
  font-size: 12px;
}
/* hidden-Attribut muss display:flex ueberschreiben (sonst bleibt Bar offen) */
#p-kd-pipeline .dp-bulkbar[hidden] { display: none !important; }

/* Bulk-Toggle-Button in der Toolbar (eigener Button-Stil, nicht rp-icon-quetsch) */
#p-kd-pipeline .dp-bulk-toggle-btn {
  display: inline-flex; align-items: center;
  padding: 6px 12px; margin-left: var(--space-2);
  background: var(--bg); border: 1px solid rgba(0,0,0,.10);
  color: var(--tx2); border-radius: var(--radius-md);
  font-family: 'Inter', sans-serif; font-size: 12px;
  cursor: pointer; white-space: nowrap;
}
#p-kd-pipeline .dp-bulk-toggle-btn:hover { background: var(--sur2); color: var(--tx); }
#p-kd-pipeline .dp-bulk-toggle-btn.on {
  background: var(--ac); color: var(--bg); border-color: var(--ac); font-weight: 500;
}
#p-kd-pipeline .dp-bulkbar-count { color: var(--tx); font-weight: 500; margin-right: var(--space-2); }
#p-kd-pipeline .dp-bulkbar-count b { color: var(--ac); font-family: 'DM Mono', monospace; }
#p-kd-pipeline .dp-bulk-btn {
  padding: 5px 12px; border-radius: var(--radius-sm);
  border: 1px solid rgba(0,0,0,.12); background: var(--bg); color: var(--tx2);
  font-family: 'Inter', sans-serif; font-size: 11.5px; cursor: pointer;
}
#p-kd-pipeline .dp-bulk-btn:hover { background: var(--sur2); color: var(--tx); }
#p-kd-pipeline .dp-bulk-btn.dp-bulk-pri {
  background: var(--ac); color: var(--bg); border-color: var(--ac); font-weight: 500;
}
#p-kd-pipeline .dp-bulk-btn:disabled { opacity: .6; cursor: wait; }

/* ──────────────────────────────────────────────────────────────────
   Stage-KPI-Pills im Hero (2026-05-29 v4)
   User-Wunsch: gleiche Optik wie KPI-Pills in kd-dms-orders — schlank,
   rechts ausgerichtet, mit Label + Mono-Counter. Aktive Pill bekommt
   primary-Border. Tool-Bar (View/Bulk/Aktualisieren) rückt nach links.
   ────────────────────────────────────────────────────────────────── */
#p-kd-pipeline .kd-hero .rp-fpills.dp-stage-kpis {
  display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
  background: none; border: 0; padding: 0; margin: 0;
  /* WICHTIG: flex:1 aus repowering-CSS hebt rechts-bündig auf. Explizit 0,
     damit die Pill-Gruppe nur ihre Eigen-Breite einnimmt und das
     justify-content:space-between der .kd-hero greift. */
  flex: 0 0 auto;
  justify-content: flex-end;
}
#p-kd-pipeline .kd-hero .rp-fpill {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--sur); border: 1px solid var(--bd);
  border-radius: var(--radius-pill);
  padding: 4px 12px;
  font-size: 11.5px;
  font-family: inherit; color: var(--tx);
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
#p-kd-pipeline .kd-hero .rp-fpill:hover { border-color: var(--ac); }
#p-kd-pipeline .kd-hero .rp-fpill.on {
  background: rgba(180,140,30,.08);
  border-color: var(--ac);
}
#p-kd-pipeline .kd-hero .rp-fpill > i { display: none; }
#p-kd-pipeline .kd-hero .rp-fpill .kd-kpi-l {
  color: var(--tx3); font-weight: 500; font-size: 11px;
  text-transform: none; letter-spacing: 0; margin: 0;
}
#p-kd-pipeline .kd-hero .rp-fpill .kd-kpi-v {
  font-family: 'DM Mono', monospace;
  font-size: 12px; font-weight: 500; color: var(--tx); line-height: 1;
}

/* Tool-Bar links-bündig (vorher rp-head mit space-between) */
#p-kd-pipeline .rp-head.dp-head-tools {
  display: flex; justify-content: flex-start; align-items: center;
  margin-bottom: var(--space-3);
}
#p-kd-pipeline .rp-head.dp-head-tools .rp-icons {
  margin-left: 0;
}

/* Repowering-Pipeline-CSS gespiegelt fuer Kunden-DMS-Pipeline (2026-05-29).
   Auto-generiert per scripts/build-dms-pipeline-css.py aus repowering.css.
   Trio-Pattern: eigene CSS-Datei statt distributed-Selectors in repowering.css.
   ────────────────────────────────────────────────────────────────────────── */

/* Repowering — folgt dem Contacts-Page-Pattern (KPI + Status-Pills + Filter +
   Liste/Cards + Pagination). Eigene Klassen NUR für Slide-In Detail + Maps. */

/* Mode-Switch (Akquise / Vertrieb) — eine Pipeline, zwei Filter-Sätze. */
#p-kd-pipeline .rp-mode, #p-kd-dms-orders .rp-mode, #p-kundenuebersicht .rp-mode {
  display:inline-flex;background:var(--sur);border:1px solid var(--bd);
  border-radius: var(--radius-lg);padding: var(--space-1);gap: var(--space-1);margin-bottom: 10px;
}

#p-kd-pipeline .rp-mode-pill, #p-kd-dms-orders .rp-mode-pill, #p-kundenuebersicht .rp-mode-pill {
  background:transparent;border:0;color:var(--tx3);
  padding: 7px 18px;border-radius: 7px;font-size:12.5px;font-weight:600;
  font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .12s;
}

#p-kd-pipeline .rp-mode-pill:hover, #p-kd-dms-orders .rp-mode-pill:hover, #p-kundenuebersicht .rp-mode-pill:hover {background:var(--sur2);color:var(--tx2)}

#p-kd-pipeline .rp-mode-pill.on, #p-kd-dms-orders .rp-mode-pill.on, #p-kundenuebersicht .rp-mode-pill.on {background:var(--ac);color:var(--bg)}

#p-kd-pipeline .rp-mode-pill[hidden], #p-kd-dms-orders .rp-mode-pill[hidden], #p-kundenuebersicht .rp-mode-pill[hidden] {display:none}

/* Mode-Bar versteckt sich automatisch wenn nur EINE Pill sichtbar ist (kein
   Sinn in einem Single-Choice-Switch) — gesteuert über Body-Klassen oder
   inline. Default: beide sichtbar wenn User beide Permissions hat. */


#p-kd-pipeline .rp-col-num, #p-kd-dms-orders .rp-col-num, #p-kundenuebersicht .rp-col-num {text-align:right;font-family:'DM Mono',monospace}

#p-kd-pipeline .rp-col-check, #p-kd-dms-orders .rp-col-check, #p-kundenuebersicht .rp-col-check {width:32px;padding-left: var(--space-2);padding-right: 0}

/* Bulk-Spalte/Header nur sichtbar wenn Page im Bulk-Modus ist */
#p-kd-pipeline:not(.is-bulk-mode) .rp-bulk-only, #p-kd-pipeline:not(.is-bulk-mode) .rp-bulk-only {display:none}

#p-kd-pipeline .rp-row-check, #p-kd-dms-orders .rp-row-check, #p-kundenuebersicht .rp-row-check, , #p-kd-dms-orders #rp-check-all, #p-kundenuebersicht #rp-check-all {cursor:pointer;width:15px;height:15px;accent-color:var(--ac)}

#p-kd-pipeline tr.is-bulk-on, #p-kd-dms-orders tr.is-bulk-on, #p-kundenuebersicht tr.is-bulk-on {background:rgba(213,217,96,.08)}

#p-kd-pipeline tr.is-bulk-on td, #p-kd-dms-orders tr.is-bulk-on td, #p-kundenuebersicht tr.is-bulk-on td {border-left:0}

#p-kd-pipeline .rp-assigned, #p-kd-dms-orders .rp-assigned, #p-kundenuebersicht .rp-assigned {
  display:inline-block;padding: 2px var(--space-2);border-radius: var(--radius-lg);
  background:rgba(86,107,134,.12);color:var(--ac2);font-size:10.5px;font-weight:500;
  max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}

#p-kd-pipeline .rp-unassigned, #p-kd-dms-orders .rp-unassigned, #p-kundenuebersicht .rp-unassigned {color:var(--tx3);font-size:11px}

/* ── Editorial Header-Row: KPI-Chips · Filter-Pills · Icon-Toggles ── */
#p-kd-pipeline .rp-head, #p-kd-dms-orders .rp-head, #p-kundenuebersicht .rp-head {
  display:flex;align-items:center;gap: 18px;flex-wrap:wrap;
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 10px 14px;margin-bottom:10px
}

/* Tick-Spalten Solar + MaStR — kompakte Status-Symbole statt Pills.
   ✓ = vorhanden (grün), ∅ = nicht (rot), ? = unbekannt (grau). */
#p-kd-pipeline .rp-col-tick, #p-kd-dms-orders .rp-col-tick, #p-kundenuebersicht .rp-col-tick {text-align:center;width:60px;padding-left: 6px;padding-right: 6px}

#p-kd-pipeline .rp-anl-badge, #p-kd-dms-orders .rp-anl-badge, #p-kundenuebersicht .rp-anl-badge {
  font-family:'DM Mono',monospace;font-size:12px;color:var(--tx2);
  cursor:help
}

#p-kd-pipeline .rp-tick, #p-kd-dms-orders .rp-tick, #p-kundenuebersicht .rp-tick {
  display:inline-block;font-family:'DM Mono',monospace;font-size:14px;
  font-weight:600;line-height:1;color:var(--tx3);
}

/* Tick-Farben neutral — User-Wunsch 2026-05-18 „zurueckhaltend". */
#p-kd-pipeline .rp-tick.is-yes, #p-kd-dms-orders .rp-tick.is-yes, #p-kundenuebersicht .rp-tick.is-yes {color:var(--tx)}

#p-kd-pipeline .rp-tick.is-no, #p-kd-dms-orders .rp-tick.is-no, #p-kundenuebersicht .rp-tick.is-no {color:var(--tx3)}

#p-kd-pipeline .rp-tick.is-unknown, #p-kd-dms-orders .rp-tick.is-unknown, #p-kundenuebersicht .rp-tick.is-unknown {color:var(--tx3)}

/* Sortierbare Spalten-Header: Klick auf <th data-rp-sort> toggelt
   asc → desc → off. Indikator-Pfeil rechts daneben. */
#p-kd-pipeline th.rp-sortable, #p-kd-dms-orders th.rp-sortable, #p-kundenuebersicht th.rp-sortable {cursor:pointer;user-select:none}

#p-kd-pipeline th.rp-sortable:hover, #p-kd-dms-orders th.rp-sortable:hover, #p-kundenuebersicht th.rp-sortable:hover {color:var(--tx)}

#p-kd-pipeline th.rp-sortable::after, #p-kd-dms-orders th.rp-sortable::after, #p-kundenuebersicht th.rp-sortable::after {
  content:'';display:inline-block;width:7px;margin-left: 5px;color:var(--tx3);
}

#p-kd-pipeline th.rp-sortable.is-sort-asc::after, #p-kd-dms-orders th.rp-sortable.is-sort-asc::after, #p-kundenuebersicht th.rp-sortable.is-sort-asc::after {content:'▲';font-size:8px}

#p-kd-pipeline th.rp-sortable.is-sort-desc::after, #p-kd-dms-orders th.rp-sortable.is-sort-desc::after, #p-kundenuebersicht th.rp-sortable.is-sort-desc::after {content:'▼';font-size:8px}

/* Board-View (Kanban) — Spalten pro Status, mode-spezifisch. */
#p-kd-pipeline .rp-boardwrap, #p-kd-dms-orders .rp-boardwrap, #p-kundenuebersicht .rp-boardwrap {padding: 0;margin-top: var(--space-3)}

#p-kd-pipeline .rp-board, #p-kd-dms-orders .rp-board, #p-kundenuebersicht .rp-board {
  display:flex;gap: 14px;overflow-x:auto;padding-bottom: var(--space-3);
  min-height:calc(100vh - 280px);
}

#p-kd-pipeline .rp-bcol, #p-kd-dms-orders .rp-bcol, #p-kundenuebersicht .rp-bcol {
  flex:0 0 280px;display:flex;flex-direction:column;
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  min-height:200px;
}

#p-kd-pipeline .rp-bcol-head, #p-kd-dms-orders .rp-bcol-head, #p-kundenuebersicht .rp-bcol-head {
  display:flex;align-items:center;gap: var(--space-2);padding: var(--space-3) 14px;
  border-bottom:1px solid var(--bd);
  font-size:12px;font-weight:600;color:var(--tx);
  background:var(--sur2);border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

#p-kd-pipeline .rp-bcol-dot, #p-kd-dms-orders .rp-bcol-dot, #p-kundenuebersicht .rp-bcol-dot {width:8px;height:8px;border-radius: 50%;flex:0 0 auto;background:var(--tx3)}

#p-kd-pipeline .rp-bcol-dot.is-offen, #p-kd-dms-orders .rp-bcol-dot.is-offen, #p-kundenuebersicht .rp-bcol-dot.is-offen {background:var(--ac3)}

#p-kd-pipeline .rp-bcol-dot.is-nicht_erreicht, #p-kd-dms-orders .rp-bcol-dot.is-nicht_erreicht, #p-kundenuebersicht .rp-bcol-dot.is-nicht_erreicht {background:var(--tx3)}

#p-kd-pipeline .rp-bcol-dot.is-termin, #p-kd-dms-orders .rp-bcol-dot.is-termin, #p-kundenuebersicht .rp-bcol-dot.is-termin {background:#4ade80}

#p-kd-pipeline .rp-bcol-dot.is-kein_interesse, #p-kd-dms-orders .rp-bcol-dot.is-kein_interesse, #p-kundenuebersicht .rp-bcol-dot.is-kein_interesse {background:var(--ac4)}

#p-kd-pipeline .rp-bcol-dot.is-wiedervorlage, #p-kd-dms-orders .rp-bcol-dot.is-wiedervorlage, #p-kundenuebersicht .rp-bcol-dot.is-wiedervorlage {background:var(--ac3)}

#p-kd-pipeline .rp-bcol-dot.is-angebot, #p-kd-dms-orders .rp-bcol-dot.is-angebot, #p-kundenuebersicht .rp-bcol-dot.is-angebot {background:#60a5fa}

#p-kd-pipeline .rp-bcol-dot.is-abgeschlossen_gewonnen, #p-kd-dms-orders .rp-bcol-dot.is-abgeschlossen_gewonnen, #p-kundenuebersicht .rp-bcol-dot.is-abgeschlossen_gewonnen {background:#4ade80}

#p-kd-pipeline .rp-bcol-dot.is-abgeschlossen_verloren, #p-kd-dms-orders .rp-bcol-dot.is-abgeschlossen_verloren, #p-kundenuebersicht .rp-bcol-dot.is-abgeschlossen_verloren {background:var(--ac4)}

#p-kd-pipeline .rp-bcol-dot.is-provision_auszahlung, #p-kd-dms-orders .rp-bcol-dot.is-provision_auszahlung, #p-kundenuebersicht .rp-bcol-dot.is-provision_auszahlung {background:#a78bfa}

#p-kd-pipeline .rp-bcol-title, #p-kd-dms-orders .rp-bcol-title, #p-kundenuebersicht .rp-bcol-title {flex:1;min-width:0}

#p-kd-pipeline .rp-bcol-count, #p-kd-dms-orders .rp-bcol-count, #p-kundenuebersicht .rp-bcol-count {
  font-family:'DM Mono',monospace;font-size:10px;font-weight:600;
  background:var(--bg);padding: 2px 7px;border-radius: 8px;color:var(--tx3);
}

#p-kd-pipeline .rp-bcol-body, #p-kd-dms-orders .rp-bcol-body, #p-kundenuebersicht .rp-bcol-body {flex:1;padding: 10px;display:flex;flex-direction:column;gap: var(--space-2);overflow-y:auto}

#p-kd-pipeline .rp-bcol-empty, #p-kd-dms-orders .rp-bcol-empty, #p-kundenuebersicht .rp-bcol-empty {padding: 18px var(--space-2);text-align:center;font-size:11.5px;color:var(--tx3);font-style:italic}

#p-kd-pipeline .rp-bcard, #p-kd-dms-orders .rp-bcard, #p-kundenuebersicht .rp-bcard {
  background:var(--bg);border:1px solid var(--bd);border-radius: 8px;
  padding: 10px var(--space-3);cursor:pointer;transition:border-color .12s,transform .12s;
  display:flex;flex-direction:column;gap: var(--space-1);
}

#p-kd-pipeline .rp-bcard:hover, #p-kd-dms-orders .rp-bcard:hover, #p-kundenuebersicht .rp-bcard:hover {border-color:var(--ac);transform:translateY(-1px)}

#p-kd-pipeline .rp-bcard-firma, #p-kd-dms-orders .rp-bcard-firma, #p-kundenuebersicht .rp-bcard-firma {
  font-size:12.5px;font-weight:600;color:var(--tx);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

#p-kd-pipeline .rp-bcard-meta, #p-kd-dms-orders .rp-bcard-meta, #p-kundenuebersicht .rp-bcard-meta {
  font-size:11px;color:var(--tx2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

#p-kd-pipeline .rp-bcard-agent, #p-kd-dms-orders .rp-bcard-agent, #p-kundenuebersicht .rp-bcard-agent {font-family:'DM Mono',monospace;font-size:10px;color:var(--tx3);margin-top: 2px}

/* Filter-Pills im KPI-Stats-Stil: Farb-Punkt + Label + Count. Klickbar,
   schlankes Design, subtiler on-Zustand. Keine extra rp-stats-Zeile mehr. */
#p-kd-pipeline .rp-fpills, #p-kd-dms-orders .rp-fpills, #p-kundenuebersicht .rp-fpills {
  display:flex;align-items:center;gap: 14px;flex-wrap:wrap;flex:1;min-width:0
}

#p-kd-pipeline .rp-fpill, #p-kd-dms-orders .rp-fpill, #p-kundenuebersicht .rp-fpill {
  display:inline-flex;align-items:center;gap: 6px;
  padding: 3px var(--space-2);border:0;background:transparent;border-radius: var(--radius-md);
  font-size:11.5px;color:var(--tx2);cursor:pointer;font-family:inherit;
  white-space:nowrap;transition:all .12s
}

#p-kd-pipeline .rp-fpill[hidden], #p-kd-dms-orders .rp-fpill[hidden], #p-kundenuebersicht .rp-fpill[hidden] {display:none}

#p-kd-pipeline .rp-fpill i, #p-kd-dms-orders .rp-fpill i, #p-kundenuebersicht .rp-fpill i {display:none}

/* Farb-Punkte raus — User-Wunsch „natura" */
#p-kd-pipeline .rp-fpill:hover, #p-kd-dms-orders .rp-fpill:hover, #p-kundenuebersicht .rp-fpill:hover {background:var(--sur2);color:var(--tx)}

#p-kd-pipeline .rp-fpill.on, #p-kd-dms-orders .rp-fpill.on, #p-kundenuebersicht .rp-fpill.on {color:var(--tx);font-weight:600;background:var(--sur2)}

#p-kd-pipeline .rp-fpill.on .rp-fpill-cnt, #p-kd-dms-orders .rp-fpill.on .rp-fpill-cnt, #p-kundenuebersicht .rp-fpill.on .rp-fpill-cnt {color:var(--ac)}

#p-kd-pipeline .rp-fpill-cnt, #p-kd-dms-orders .rp-fpill-cnt, #p-kundenuebersicht .rp-fpill-cnt {
  font-family:'DM Mono',monospace;font-size:12px;font-weight:600;color:var(--tx);
}

/* Icon-Toggles rechts (Karten / Liste / Bulk / Reload) */
#p-kd-pipeline .rp-icons, #p-kd-dms-orders .rp-icons, #p-kundenuebersicht .rp-icons {
  display:flex;align-items:center;gap: 2px;flex-shrink:0
}

#p-kd-pipeline .rp-icon, #p-kd-dms-orders .rp-icon, #p-kundenuebersicht .rp-icon {
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius: 7px;
  background:transparent;border:0;color:var(--tx3);
  cursor:pointer;transition:all .12s;padding:0
}

#p-kd-pipeline .rp-icon svg, #p-kd-dms-orders .rp-icon svg, #p-kundenuebersicht .rp-icon svg {width:14px;height:14px}

#p-kd-pipeline .rp-icon:hover, #p-kd-dms-orders .rp-icon:hover, #p-kundenuebersicht .rp-icon:hover {background:var(--sur2);color:var(--tx)}

#p-kd-pipeline .rp-icon.on, #p-kd-dms-orders .rp-icon.on, #p-kundenuebersicht .rp-icon.on {background:var(--sur2);color:var(--ac)}

/* Bulk-Toggle mit Text-Label — gleicher UX-Stil wie Daten-Check
   "☐ Auswählen" / "✓ Auswahl-Modus aus". Width auto + Padding statt Quadrat. */
#p-kd-pipeline .rp-icon-bulktoggle, #p-kd-dms-orders .rp-icon-bulktoggle, #p-kundenuebersicht .rp-icon-bulktoggle {
  width:auto;height:32px;padding: 0 var(--space-3);
  border:1px solid var(--bd);font-size:11.5px;font-family:inherit;color:var(--tx2)
}

#p-kd-pipeline .rp-icon-bulktoggle:hover, #p-kd-dms-orders .rp-icon-bulktoggle:hover, #p-kundenuebersicht .rp-icon-bulktoggle:hover {border-color:var(--bd2);color:var(--tx)}

#p-kd-pipeline .rp-icon-bulktoggle.on, #p-kd-dms-orders .rp-icon-bulktoggle.on, #p-kundenuebersicht .rp-icon-bulktoggle.on {
  background:rgba(122,128,36,.10);border-color:var(--ac);color:var(--ac)
}

/* ── Filter-Bar (Suche + 3 Dropdowns) ── */
#p-kd-pipeline .rp-filters, #p-kd-dms-orders .rp-filters, #p-kundenuebersicht .rp-filters {
  display:flex;align-items:center;gap: 10px;margin-bottom: var(--space-2);flex-wrap:wrap
}

#p-kd-pipeline .rp-search, #p-kd-dms-orders .rp-search, #p-kundenuebersicht .rp-search {
  flex:1;min-width:260px;position:relative;
  display:flex;align-items:center
}

#p-kd-pipeline .rp-search svg, #p-kd-dms-orders .rp-search svg, #p-kundenuebersicht .rp-search svg {
  position:absolute;left:12px;width:14px;height:14px;color:var(--tx3);
  pointer-events:none
}

#p-kd-pipeline .rp-search input, #p-kd-dms-orders .rp-search input, #p-kundenuebersicht .rp-search input {
  width:100%;background:var(--sur);border:1px solid var(--bd);
  border-radius: 8px;padding: 9px var(--space-3) 9px 34px;
  font-size:12.5px;font-family:inherit;color:var(--tx);outline:none;
  transition:border-color .12s
}

#p-kd-pipeline .rp-search input::placeholder, #p-kd-dms-orders .rp-search input::placeholder, #p-kundenuebersicht .rp-search input::placeholder {color:var(--tx3)}

#p-kd-pipeline .rp-search input:focus, #p-kd-dms-orders .rp-search input:focus, #p-kundenuebersicht .rp-search input:focus {border-color:var(--ac)}

/* Status- + PLZ-Select feste Breite, sonst springen sie beim
   Akquise/Vertrieb-Wechsel weil die Optionen unterschiedlich lang sind. */
#p-kd-pipeline .rp-select, #p-kd-dms-orders .rp-select, #p-kundenuebersicht .rp-select {
  background:var(--sur);border:1px solid var(--bd);color:var(--tx2);
  border-radius: 8px;padding: 9px 28px 9px var(--space-3);
  font-size:12px;font-family:inherit;outline:none;cursor:pointer;
  width:180px;min-width:180px;max-width:180px;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'><path d='M2 3.5l3 3 3-3' stroke='%23999' stroke-width='1.4' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center
}

#p-kd-pipeline .rp-select:focus, #p-kd-dms-orders .rp-select:focus, #p-kundenuebersicht .rp-select:focus {border-color:var(--ac)}

/* „Fehlerhafte ausblenden" Toggle in der Filter-Bar */
#p-kd-pipeline .rp-toggle, #p-kd-dms-orders .rp-toggle, #p-kundenuebersicht .rp-toggle {
  display:inline-flex;align-items:center;gap: 6px;cursor:pointer;
  font-size:11.5px;color:var(--tx2);padding: 0 var(--space-1);user-select:none
}

#p-kd-pipeline .rp-toggle input, #p-kd-dms-orders .rp-toggle input, #p-kundenuebersicht .rp-toggle input {
  cursor:pointer;width:13px;height:13px;accent-color:var(--ac);margin:0
}

#p-kd-pipeline .rp-toggle:hover, #p-kd-dms-orders .rp-toggle:hover, #p-kundenuebersicht .rp-toggle:hover {color:var(--tx)}

/* ── Bulk-Hint Row — collapsed Default + active Mode ── */
#p-kd-pipeline .rp-bulk-hint, #p-kd-dms-orders .rp-bulk-hint, #p-kundenuebersicht .rp-bulk-hint {
  margin: var(--space-2) 0 10px;font-size:11.5px;color:var(--tx3);
  display:flex;align-items:center;gap: 10px;flex-wrap:wrap
}

#p-kd-pipeline .rp-bulk-hint[hidden], #p-kd-dms-orders .rp-bulk-hint[hidden], #p-kundenuebersicht .rp-bulk-hint[hidden] {display:none}

#p-kd-pipeline .rp-bulk-hint-toggle, #p-kd-dms-orders .rp-bulk-hint-toggle, #p-kundenuebersicht .rp-bulk-hint-toggle {
  display:inline-flex;align-items:center;gap: var(--space-2);cursor:pointer;
  user-select:none
}

#p-kd-pipeline .rp-bulk-hint-toggle input, #p-kd-dms-orders .rp-bulk-hint-toggle input, #p-kundenuebersicht .rp-bulk-hint-toggle input {
  width:13px;height:13px;accent-color:var(--ac);margin: 0;cursor:pointer
}

#p-kd-pipeline .rp-bulk-hint-collapsed em, #p-kd-dms-orders .rp-bulk-hint-collapsed em, #p-kundenuebersicht .rp-bulk-hint-collapsed em {color:var(--tx3);font-style:normal;opacity:.85}

#p-kd-pipeline .rp-bulk-hint-active, #p-kd-dms-orders .rp-bulk-hint-active, #p-kundenuebersicht .rp-bulk-hint-active {
  display:none;align-items:center;gap: 6px;flex-wrap:wrap;flex:1
}

#p-kd-pipeline .rp-bulk-hint.is-active .rp-bulk-hint-collapsed, #p-kd-dms-orders .rp-bulk-hint.is-active .rp-bulk-hint-collapsed, #p-kundenuebersicht .rp-bulk-hint.is-active .rp-bulk-hint-collapsed {display:none}

#p-kd-pipeline .rp-bulk-hint.is-active .rp-bulk-hint-active, #p-kd-dms-orders .rp-bulk-hint.is-active .rp-bulk-hint-active, #p-kundenuebersicht .rp-bulk-hint.is-active .rp-bulk-hint-active {display:flex}

#p-kd-pipeline .rp-bulk-hint .rp-bulk-count, #p-kd-dms-orders .rp-bulk-hint .rp-bulk-count, #p-kundenuebersicht .rp-bulk-hint .rp-bulk-count {
  font-size:11px;font-weight:500;color:var(--ac);
  background:rgba(122,128,36,.14);padding: 3px 9px;border-radius: 11px;white-space:nowrap
}

#p-kd-pipeline .rp-bulk-hint .rp-bulk-count b, #p-kd-dms-orders .rp-bulk-hint .rp-bulk-count b, #p-kundenuebersicht .rp-bulk-hint .rp-bulk-count b {font-family:'DM Mono',monospace;font-weight:600}

#p-kd-pipeline .rp-bulk-hint select, #p-kd-dms-orders .rp-bulk-hint select, #p-kundenuebersicht .rp-bulk-hint select, , #p-kd-dms-orders .rp-bulk-hint input[type="text"], #p-kundenuebersicht .rp-bulk-hint input[type="text"] {
  background:var(--sur);border:1px solid var(--bd);color:var(--tx);
  border-radius: var(--radius-md);padding: 6px 9px;font-size:11.5px;font-family:inherit;outline:none;
  transition:border-color .12s
}

#p-kd-pipeline .rp-bulk-hint select, #p-kd-dms-orders .rp-bulk-hint select, #p-kundenuebersicht .rp-bulk-hint select {min-width:150px}

#p-kd-pipeline .rp-bulk-hint input[type="text"], #p-kd-dms-orders .rp-bulk-hint input[type="text"], #p-kundenuebersicht .rp-bulk-hint input[type="text"] {flex:1;min-width:170px}

#p-kd-pipeline .rp-bulk-hint select:focus, #p-kd-dms-orders .rp-bulk-hint select:focus, #p-kundenuebersicht .rp-bulk-hint select:focus, , #p-kd-dms-orders .rp-bulk-hint input[type="text"]:focus, #p-kundenuebersicht .rp-bulk-hint input[type="text"]:focus {border-color:var(--ac)}

#p-kd-pipeline .rp-bulk-apply, #p-kd-dms-orders .rp-bulk-apply, #p-kundenuebersicht .rp-bulk-apply {
  background:var(--ac);border:0;color:#fff;
  border-radius: var(--radius-md);padding: 7px 14px;font-size:11.5px;font-weight:500;
  cursor:pointer;font-family:inherit;transition:opacity .12s
}

#p-kd-pipeline .rp-bulk-apply:hover, #p-kd-dms-orders .rp-bulk-apply:hover, #p-kundenuebersicht .rp-bulk-apply:hover {opacity:.9}

#p-kd-pipeline .rp-bulk-clear, #p-kd-dms-orders .rp-bulk-clear, #p-kundenuebersicht .rp-bulk-clear {
  background:transparent;border:0;color:var(--tx3);
  font-size:11px;cursor:pointer;font-family:inherit;padding:6px 8px
}

#p-kd-pipeline .rp-bulk-clear:hover, #p-kd-dms-orders .rp-bulk-clear:hover, #p-kundenuebersicht .rp-bulk-clear:hover {color:var(--tx)}

#p-kd-pipeline .rp-bulk-delete, #p-kd-dms-orders .rp-bulk-delete, #p-kundenuebersicht .rp-bulk-delete {
  background:transparent;border:1px solid #d97706;color:#d97706;
  border-radius: var(--radius-md);padding: 6px var(--space-3);font-size:11.5px;font-weight:500;
  cursor:pointer;font-family:inherit;transition:background .12s, color .12s
}

#p-kd-pipeline .rp-bulk-delete:hover, #p-kd-dms-orders .rp-bulk-delete:hover, #p-kundenuebersicht .rp-bulk-delete:hover {background:#d97706;color:#fff}

/* Slim Breadcrumb-Header statt Hero-Box (2026-05-13, User-Wunsch) */
#p-kd-pipeline .rp-crumb, #p-kd-dms-orders .rp-crumb, #p-kundenuebersicht .rp-crumb {
  display:flex;align-items:center;gap: var(--space-2);flex-wrap:wrap;
  padding: 6px 2px 14px;font-size:12px;color:var(--tx2);line-height:1.4
}

#p-kd-pipeline .rp-crumb-eyebrow, #p-kd-dms-orders .rp-crumb-eyebrow, #p-kundenuebersicht .rp-crumb-eyebrow {
  text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;
  color:var(--ac);font-weight:500
}

#p-kd-pipeline .rp-crumb-eyebrow .rp-crumb-dot, #p-kd-dms-orders .rp-crumb-eyebrow .rp-crumb-dot, #p-kundenuebersicht .rp-crumb-eyebrow .rp-crumb-dot {margin: 0 2px;opacity:.7}

#p-kd-pipeline .rp-crumb-dot, #p-kd-dms-orders .rp-crumb-dot, #p-kundenuebersicht .rp-crumb-dot {color:var(--tx3);font-style:normal;font-size:13px;line-height:1}

#p-kd-pipeline .rp-crumb-title, #p-kd-dms-orders .rp-crumb-title, #p-kundenuebersicht .rp-crumb-title {color:var(--tx);font-size:13px}

#p-kd-pipeline .rp-crumb-title i, #p-kd-dms-orders .rp-crumb-title i, #p-kundenuebersicht .rp-crumb-title i {
  font-family:'Crimson Text','Charter','Georgia',serif;
  font-style:italic;font-size:15px;font-weight:400;color:var(--ac)
}

#p-kd-pipeline .rp-crumb-dash, #p-kd-dms-orders .rp-crumb-dash, #p-kundenuebersicht .rp-crumb-dash {color:var(--tx3);font-style:normal;margin: 0 var(--space-1)}

#p-kd-pipeline .rp-crumb-info, #p-kd-dms-orders .rp-crumb-info, #p-kundenuebersicht .rp-crumb-info {
  background:transparent;border:0;padding: 2px;color:var(--tx3);
  cursor:help;display:inline-flex;align-items:center;border-radius:50%
}

#p-kd-pipeline .rp-crumb-info svg, #p-kd-dms-orders .rp-crumb-info svg, #p-kundenuebersicht .rp-crumb-info svg {width:14px;height:14px}

#p-kd-pipeline .rp-crumb-info:hover, #p-kd-dms-orders .rp-crumb-info:hover, #p-kundenuebersicht .rp-crumb-info:hover {color:var(--ac)}

/* Solar-Pill in Tabelle/Card */
#p-kd-pipeline .rp-pill, #p-kd-dms-orders .rp-pill, #p-kundenuebersicht .rp-pill {
  display:inline-block;padding: 2px var(--space-2);border-radius: var(--radius-lg);
  font-size:10px;font-weight:500;white-space:nowrap
}

#p-kd-pipeline .rp-pill-ok, #p-kd-dms-orders .rp-pill-ok, #p-kundenuebersicht .rp-pill-ok {background:rgba(122,128,36,.15);color:var(--ac)}

#p-kd-pipeline .rp-pill-no, #p-kd-dms-orders .rp-pill-no, #p-kundenuebersicht .rp-pill-no {background:var(--sur2);color:var(--tx3)}

#p-kd-pipeline .rp-pill-pending, #p-kd-dms-orders .rp-pill-pending, #p-kundenuebersicht .rp-pill-pending {background:var(--sur2);color:var(--tx3)}

#p-kd-pipeline .rp-pill-mastr, #p-kd-dms-orders .rp-pill-mastr, #p-kundenuebersicht .rp-pill-mastr {background:rgba(96,165,250,.16);color:#60a5fa;font-family:'DM Mono',monospace}

#p-kd-pipeline .rp-pill-mastr-no, #p-kd-dms-orders .rp-pill-mastr-no, #p-kundenuebersicht .rp-pill-mastr-no {background:var(--sur2);color:var(--tx3);opacity:.7}

/* Status-Tag (in Tabelle) — neutraler Style ohne Farbcodierung.
   User-Wunsch 2026-05-18: zurueckhaltend, einzige farbliche Markierung
   in der Liste ist der Score (rp-validity-pill). */
#p-kd-pipeline .rp-status, #p-kd-dms-orders .rp-status, #p-kundenuebersicht .rp-status {
  display:inline-block;padding: 2px var(--space-2);border-radius: var(--radius-lg);
  font-size:10px;font-weight:500;background:transparent;color:var(--tx2)
}

/* Cards-View */
#p-kd-pipeline .rp-card, #p-kd-dms-orders .rp-card, #p-kundenuebersicht .rp-card {
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 14px var(--space-4);cursor:pointer;transition:border-color .12s,background .12s
}

#p-kd-pipeline .rp-card:hover, #p-kd-dms-orders .rp-card:hover, #p-kundenuebersicht .rp-card:hover {border-color:var(--bd2);background:var(--sur2)}

#p-kd-pipeline .rp-card-h, #p-kd-dms-orders .rp-card-h, #p-kundenuebersicht .rp-card-h {
  display:flex;justify-content:space-between;align-items:flex-start;
  gap: var(--space-2);margin-bottom:8px
}

#p-kd-pipeline .rp-card-firma, #p-kd-dms-orders .rp-card-firma, #p-kundenuebersicht .rp-card-firma {font-size:13px;font-weight:500;color:var(--tx);line-height:1.3}

/* Quelle-Badge — kleine Pille die zeigt woher die Adresse stammt
   (MaStR-Filter vs Excel-Upload). Steht direkt vor dem Firmennamen
   in Tabelle, Card-View und Board-Card. */
#p-kd-pipeline .rp-src-badge, #p-kd-dms-orders .rp-src-badge, #p-kundenuebersicht .rp-src-badge {
  display:inline-block;
  font-size:10px;
  font-weight:600;
  line-height:1;
  padding: 2px 6px;
  border-radius: 3px;
  margin-right: 6px;
  vertical-align:1px;
  letter-spacing:.3px;
  text-transform:uppercase;
}

#p-kd-pipeline .rp-src-badge.rp-src-mastr, #p-kd-dms-orders .rp-src-badge.rp-src-mastr, #p-kundenuebersicht .rp-src-badge.rp-src-mastr {
  background:rgba(74,134,232,.16);
  color:#3b6fc4;
  border:1px solid rgba(74,134,232,.30);
}

#p-kd-pipeline .rp-src-badge.rp-src-excel, #p-kd-dms-orders .rp-src-badge.rp-src-excel, #p-kundenuebersicht .rp-src-badge.rp-src-excel {
  background:rgba(15,157,88,.14);
  color:#2a7f50;
  border:1px solid rgba(15,157,88,.28);
}

:root.dark #p-kd-pipeline .rp-src-badge.rp-src-mastr, #p-kd-dms-orders .rp-src-badge.rp-src-mastr, #p-kundenuebersicht .rp-src-badge.rp-src-mastr, :root.dark #p-kd-pipeline .rp-src-badge.rp-src-mastr {
  background:rgba(116,170,255,.18);color:#9bbdf2;border-color:rgba(116,170,255,.34);
}

:root.dark #p-kd-pipeline .rp-src-badge.rp-src-excel, #p-kd-dms-orders .rp-src-badge.rp-src-excel, #p-kundenuebersicht .rp-src-badge.rp-src-excel, :root.dark #p-kd-pipeline .rp-src-badge.rp-src-excel {
  background:rgba(80,200,140,.18);color:#88d8aa;border-color:rgba(80,200,140,.34);
}

#p-kd-pipeline .rp-card-pills, #p-kd-dms-orders .rp-card-pills, #p-kundenuebersicht .rp-card-pills {display:flex;align-items:center;gap: 6px;flex-shrink:0}

#p-kd-pipeline .rp-card-meta, #p-kd-dms-orders .rp-card-meta, #p-kundenuebersicht .rp-card-meta {
  font-size:11.5px;color:var(--tx2);line-height:1.5;margin-bottom:8px
}

#p-kd-pipeline .rp-card-foot, #p-kd-dms-orders .rp-card-foot, #p-kundenuebersicht .rp-card-foot {
  display:flex;justify-content:space-between;align-items:center;
  gap: var(--space-2);font-size:11px;color:var(--tx3);padding-top: var(--space-2);border-top:1px solid var(--bd)
}

/* KI Solar-Check Block — sitzt direkt unter dem Detail-Header */
#p-kd-pipeline .rp-sc, #p-kd-dms-orders .rp-sc, #p-kundenuebersicht .rp-sc {
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: var(--space-3) 14px;margin-bottom:12px
}

#p-kd-pipeline .rp-sc.rp-sc-done.is-solar, #p-kd-dms-orders .rp-sc.rp-sc-done.is-solar, #p-kundenuebersicht .rp-sc.rp-sc-done.is-solar {border-left:3px solid var(--ac)}

#p-kd-pipeline .rp-sc.rp-sc-done.is-nosolar, #p-kd-dms-orders .rp-sc.rp-sc-done.is-nosolar, #p-kundenuebersicht .rp-sc.rp-sc-done.is-nosolar {border-left:3px solid var(--tx3)}

#p-kd-pipeline .rp-sc.rp-sc-done.is-unsure, #p-kd-dms-orders .rp-sc.rp-sc-done.is-unsure, #p-kundenuebersicht .rp-sc.rp-sc-done.is-unsure {border-left:3px solid var(--ac3)}

#p-kd-pipeline .rp-sc-h, #p-kd-dms-orders .rp-sc-h, #p-kundenuebersicht .rp-sc-h {
  display:flex;justify-content:space-between;align-items:baseline;margin-bottom: var(--space-2);gap:8px
}

#p-kd-pipeline .rp-sc-title, #p-kd-dms-orders .rp-sc-title, #p-kundenuebersicht .rp-sc-title {
  font-size:11px;font-weight:500;color:var(--tx);
  text-transform:uppercase;letter-spacing:.06em
}

#p-kd-pipeline .rp-sc-time, #p-kd-dms-orders .rp-sc-time, #p-kundenuebersicht .rp-sc-time, , #p-kd-dms-orders .rp-sc-sub, #p-kundenuebersicht .rp-sc-sub {
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace
}

#p-kd-pipeline .rp-sc-verdict, #p-kd-dms-orders .rp-sc-verdict, #p-kundenuebersicht .rp-sc-verdict {
  font-size:13px;font-weight:500;color:var(--tx);margin-bottom:6px
}

#p-kd-pipeline .rp-sc.is-solar .rp-sc-verdict, #p-kd-dms-orders .rp-sc.is-solar .rp-sc-verdict, #p-kundenuebersicht .rp-sc.is-solar .rp-sc-verdict {color:var(--ac)}

#p-kd-pipeline .rp-sc.is-unsure .rp-sc-verdict, #p-kd-dms-orders .rp-sc.is-unsure .rp-sc-verdict, #p-kundenuebersicht .rp-sc.is-unsure .rp-sc-verdict {color:var(--ac3)}

#p-kd-pipeline .rp-sc-bar, #p-kd-dms-orders .rp-sc-bar, #p-kundenuebersicht .rp-sc-bar {
  height:5px;background:var(--sur3);border-radius: 3px;overflow:hidden;margin-bottom:8px
}

#p-kd-pipeline .rp-sc-fill, #p-kd-dms-orders .rp-sc-fill, #p-kundenuebersicht .rp-sc-fill {height:100%;transition:width .3s ease;border-radius: 3px}

#p-kd-pipeline .rp-sc-fill.high, #p-kd-dms-orders .rp-sc-fill.high, #p-kundenuebersicht .rp-sc-fill.high {background:var(--ac)}

#p-kd-pipeline .rp-sc-fill.mid, #p-kd-dms-orders .rp-sc-fill.mid, #p-kundenuebersicht .rp-sc-fill.mid {background:var(--ac3)}

#p-kd-pipeline .rp-sc-fill.low, #p-kd-dms-orders .rp-sc-fill.low, #p-kundenuebersicht .rp-sc-fill.low {background:var(--ac4)}

#p-kd-pipeline .rp-sc-notes, #p-kd-dms-orders .rp-sc-notes, #p-kundenuebersicht .rp-sc-notes {
  font-size:11.5px;color:var(--tx2);font-style:italic;line-height:1.5;margin-bottom:10px
}

#p-kd-pipeline .rp-sc-btn, #p-kd-dms-orders .rp-sc-btn, #p-kundenuebersicht .rp-sc-btn {width:100%;font-size:11.5px;padding: var(--space-2) 10px}

#p-kd-pipeline .rp-sc-btn:disabled, #p-kd-dms-orders .rp-sc-btn:disabled, #p-kundenuebersicht .rp-sc-btn:disabled {opacity:.7;cursor:wait}

/* Sat-Bild in der KI-Card — User kann manuell verifizieren */
#p-kd-pipeline .rp-sc-img-wrap, #p-kd-dms-orders .rp-sc-img-wrap, #p-kundenuebersicht .rp-sc-img-wrap {
  margin: var(--space-2) 0 10px;border-radius: var(--radius-md);overflow:hidden;
  border:1px solid var(--bd);background:var(--sur3);aspect-ratio:1
}

#p-kd-pipeline .rp-sc-img-wrap img, #p-kd-dms-orders .rp-sc-img-wrap img, #p-kundenuebersicht .rp-sc-img-wrap img {
  width:100%;height:100%;display:block;object-fit:cover
}

/* MaStR-Block im Slide-In: verifizierte Anlagen-Daten aus dem
   Marktstammdatenregister (Bundesnetzagentur). Matched = grün, no_match
   = grau, pending = neutral mit Re-Check-Button. */
#p-kd-pipeline .rp-mastr, #p-kd-dms-orders .rp-mastr, #p-kundenuebersicht .rp-mastr {
  margin-top: 14px;padding: 14px var(--space-4);border:1px solid var(--bd);
  border-radius: 8px;background:var(--sur2);
}

#p-kd-pipeline .rp-mastr.is-matched, #p-kd-dms-orders .rp-mastr.is-matched, #p-kundenuebersicht .rp-mastr.is-matched {border-left:3px solid #60a5fa}

#p-kd-pipeline .rp-mastr.is-no-match, #p-kd-dms-orders .rp-mastr.is-no-match, #p-kundenuebersicht .rp-mastr.is-no-match {border-left:3px solid var(--tx3);opacity:.85}

#p-kd-pipeline .rp-mastr.is-pending, #p-kd-dms-orders .rp-mastr.is-pending, #p-kundenuebersicht .rp-mastr.is-pending {border-left:3px solid var(--ac3,#fbbf24)}

#p-kd-pipeline .rp-mastr-h, #p-kd-dms-orders .rp-mastr-h, #p-kundenuebersicht .rp-mastr-h {
  display:flex;align-items:center;gap: 7px;font-size:11px;font-weight:600;
  color:var(--tx);text-transform:uppercase;letter-spacing:.06em;margin-bottom: var(--space-3);
}

#p-kd-pipeline .rp-mastr-h em, #p-kd-dms-orders .rp-mastr-h em, #p-kundenuebersicht .rp-mastr-h em {
  font-style:normal;font-size:10px;color:var(--tx3);font-weight:400;
  text-transform:none;letter-spacing:0;
}

#p-kd-pipeline .rp-mastr-icon, #p-kd-dms-orders .rp-mastr-icon, #p-kundenuebersicht .rp-mastr-icon {
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius: 50%;font-size:11px;font-weight:700;
}

#p-kd-pipeline .rp-mastr.is-matched .rp-mastr-icon, #p-kd-dms-orders .rp-mastr.is-matched .rp-mastr-icon, #p-kundenuebersicht .rp-mastr.is-matched .rp-mastr-icon {background:#60a5fa;color:#fff}

#p-kd-pipeline .rp-mastr.is-no-match .rp-mastr-icon, #p-kd-dms-orders .rp-mastr.is-no-match .rp-mastr-icon, #p-kundenuebersicht .rp-mastr.is-no-match .rp-mastr-icon {background:var(--bd2);color:var(--tx3)}

#p-kd-pipeline .rp-mastr.is-pending .rp-mastr-icon, #p-kd-dms-orders .rp-mastr.is-pending .rp-mastr-icon, #p-kundenuebersicht .rp-mastr.is-pending .rp-mastr-icon {background:var(--ac3,#fbbf24);color:#222}

#p-kd-pipeline .rp-mastr-kv, #p-kd-dms-orders .rp-mastr-kv, #p-kundenuebersicht .rp-mastr-kv {
  margin: 0;display:grid;grid-template-columns:auto 1fr;gap: 7px var(--space-4);font-size:12.5px;
  line-height:1.5;
}

#p-kd-pipeline .rp-mastr-kv dt, #p-kd-dms-orders .rp-mastr-kv dt, #p-kundenuebersicht .rp-mastr-kv dt {color:var(--tx3);font-weight:400}

#p-kd-pipeline .rp-mastr-kv dd, #p-kd-dms-orders .rp-mastr-kv dd, #p-kundenuebersicht .rp-mastr-kv dd {margin: 0;color:var(--tx);font-family:'DM Mono',monospace}

#p-kd-pipeline .rp-mastr-kv code, #p-kd-dms-orders .rp-mastr-kv code, #p-kundenuebersicht .rp-mastr-kv code {font-size:11px;color:var(--tx2)}

#p-kd-pipeline .rp-mastr-age, #p-kd-dms-orders .rp-mastr-age, #p-kundenuebersicht .rp-mastr-age {color:var(--tx3);font-family:inherit;font-size:11px}

/* Standort-Aggregation Slide-In (2026-05-23): Gesamtleistung + Anlagen-Liste */
#p-kd-pipeline .rp-mastr-kv dd strong, #p-kd-dms-orders .rp-mastr-kv dd strong, #p-kundenuebersicht .rp-mastr-kv dd strong {color:var(--accent);font-weight:600}

#p-kd-pipeline .rp-mastr-anl-list, #p-kd-dms-orders .rp-mastr-anl-list, #p-kundenuebersicht .rp-mastr-anl-list {
  margin-top: 14px;padding: var(--space-3) 14px;border-radius: var(--radius-md);
  background:rgba(0,0,0,.025);border:1px solid rgba(0,0,0,.06);
}

#p-kd-pipeline .rp-mastr-anl-h, #p-kd-dms-orders .rp-mastr-anl-h, #p-kundenuebersicht .rp-mastr-anl-h {
  font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tx3);margin-bottom: var(--space-2);
}

#p-kd-pipeline .rp-mastr-anl-ol, #p-kd-dms-orders .rp-mastr-anl-ol, #p-kundenuebersicht .rp-mastr-anl-ol {
  list-style:none;margin: 0;padding: 0;display:grid;gap: 6px;
  counter-reset:rp-anl;
}

#p-kd-pipeline .rp-mastr-anl-ol li, #p-kd-dms-orders .rp-mastr-anl-ol li, #p-kundenuebersicht .rp-mastr-anl-ol li {
  display:grid;grid-template-columns:90px 60px 1fr;gap: 14px;align-items:baseline;
  padding: 6px var(--space-2);border-radius: var(--radius-sm);font-family:'DM Mono',monospace;font-size:12px;
}

#p-kd-pipeline .rp-mastr-anl-ol li.is-primary, #p-kd-dms-orders .rp-mastr-anl-ol li.is-primary, #p-kundenuebersicht .rp-mastr-anl-ol li.is-primary {background:rgba(213,217,96,.12)}

#p-kd-pipeline .rp-mastr-anl-ol li::before, #p-kd-dms-orders .rp-mastr-anl-ol li::before, #p-kundenuebersicht .rp-mastr-anl-ol li::before {
  counter-increment:rp-anl;content:counter(rp-anl);
  position:absolute;color:var(--tx3);font-size:10px;
}

#p-kd-pipeline .rp-mastr-anl-kwp, #p-kd-dms-orders .rp-mastr-anl-kwp, #p-kundenuebersicht .rp-mastr-anl-kwp {color:var(--tx);font-weight:500}

#p-kd-pipeline .rp-mastr-anl-ibn, #p-kd-dms-orders .rp-mastr-anl-ibn, #p-kundenuebersicht .rp-mastr-anl-ibn {color:var(--tx2)}

#p-kd-pipeline .rp-mastr-anl-nr, #p-kd-dms-orders .rp-mastr-anl-nr, #p-kundenuebersicht .rp-mastr-anl-nr {font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace}

#p-kd-pipeline .rp-mastr-empty, #p-kd-dms-orders .rp-mastr-empty, #p-kundenuebersicht .rp-mastr-empty {
  font-size:11.5px;color:var(--tx2);margin: var(--space-1) 0 var(--space-2);line-height:1.4;
}

#p-kd-pipeline .rp-mastr-empty em, #p-kd-dms-orders .rp-mastr-empty em, #p-kundenuebersicht .rp-mastr-empty em {color:var(--tx3);font-style:italic;font-size:11px}

#p-kd-pipeline .rp-mastr-recheck, #p-kd-dms-orders .rp-mastr-recheck, #p-kundenuebersicht .rp-mastr-recheck {
  background:transparent;border:1px solid var(--bd);border-radius: var(--radius-md);
  padding: var(--space-1) 10px;font-size:11px;color:var(--tx2);cursor:pointer;
}

#p-kd-pipeline .rp-mastr-recheck:hover, #p-kd-dms-orders .rp-mastr-recheck:hover, #p-kundenuebersicht .rp-mastr-recheck:hover {border-color:var(--ac);color:var(--ac)}

#p-kd-pipeline .rp-mastr-source, #p-kd-dms-orders .rp-mastr-source, #p-kundenuebersicht .rp-mastr-source {
  margin-top: var(--space-2);padding-top: 6px;border-top:1px solid var(--bd);
  font-size:10px;color:var(--tx3);line-height:1.4;
}

#p-kd-pipeline .rp-mastr-source a, #p-kd-dms-orders .rp-mastr-source a, #p-kundenuebersicht .rp-mastr-source a {color:var(--tx3);text-decoration:underline;text-underline-offset:2px}

#p-kd-pipeline .rp-mastr-source a:hover, #p-kd-dms-orders .rp-mastr-source a:hover, #p-kundenuebersicht .rp-mastr-source a:hover {color:var(--tx2)}

/* Öffnungszeiten-Block im Slide-In — kompakte Liste der 7 Wochentage mit
   Highlight auf „heute". Quelle: Google Places (regularOpeningHours), wird
   beim Daten-Check + via Refresh-Button befüllt. */
#p-kd-pipeline .rp-oh, #p-kd-dms-orders .rp-oh, #p-kundenuebersicht .rp-oh {
  margin-top: var(--space-3);padding: var(--space-2) 0;border:0;background:transparent;
  border-top:1px solid var(--bd);
}

#p-kd-pipeline .rp-oh-head, #p-kd-dms-orders .rp-oh-head, #p-kundenuebersicht .rp-oh-head {
  display:flex;align-items:center;gap: var(--space-2);margin-bottom: 0;
  cursor:pointer;list-style:none;padding: 2px 0;
}

#p-kd-pipeline .rp-oh-head::-webkit-details-marker, #p-kd-dms-orders .rp-oh-head::-webkit-details-marker, #p-kundenuebersicht .rp-oh-head::-webkit-details-marker {display:none}

#p-kd-pipeline .rp-oh-head::before, #p-kd-dms-orders .rp-oh-head::before, #p-kundenuebersicht .rp-oh-head::before {
  content:'▶';font-size:9px;color:var(--tx3);margin-right: var(--space-1);transition:transform .15s;
}

#p-kd-pipeline .rp-oh[open] .rp-oh-head::before, #p-kd-dms-orders .rp-oh[open] .rp-oh-head::before, #p-kundenuebersicht .rp-oh[open] .rp-oh-head::before {transform:rotate(90deg)}

#p-kd-pipeline .rp-oh-status, #p-kd-dms-orders .rp-oh-status, #p-kundenuebersicht .rp-oh-status {font-size:10.5px;color:var(--tx3);font-style:italic}

#p-kd-pipeline .rp-oh[open] .rp-oh-list, #p-kd-dms-orders .rp-oh[open] .rp-oh-list, #p-kundenuebersicht .rp-oh[open] .rp-oh-list {margin-top: var(--space-2)}

#p-kd-pipeline .rp-oh-head h4, #p-kd-dms-orders .rp-oh-head h4, #p-kundenuebersicht .rp-oh-head h4 {
  margin: 0;font-size:11px;font-weight:500;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.06em;flex:1
}

/* Website-Block im Slide-In (2026-05-20). Klickbarer Link zur Firma. */
#p-kd-pipeline .rp-website-block, #p-kd-dms-orders .rp-website-block, #p-kundenuebersicht .rp-website-block {
  margin-top: var(--space-3);padding: var(--space-2) 0;border-top:1px solid var(--bd);
}

#p-kd-pipeline .rp-website-block h4, #p-kd-dms-orders .rp-website-block h4, #p-kundenuebersicht .rp-website-block h4 {
  margin: 0 0 6px 0;font-size:11px;font-weight:500;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.06em
}

#p-kd-pipeline .rp-website-link, #p-kd-dms-orders .rp-website-link, #p-kundenuebersicht .rp-website-link {
  display:inline-block;color:var(--ac);text-decoration:none;
  font-size:13px;font-weight:500;word-break:break-all
}

#p-kd-pipeline .rp-website-link:hover, #p-kd-dms-orders .rp-website-link:hover, #p-kundenuebersicht .rp-website-link:hover {text-decoration:underline}

#p-kd-pipeline .rp-oh-fetched, #p-kd-dms-orders .rp-oh-fetched, #p-kundenuebersicht .rp-oh-fetched {
  font-size:10px;color:var(--tx3);font-family:'DM Mono',monospace;opacity:.7
}

#p-kd-pipeline .rp-oh-refresh, #p-kd-dms-orders .rp-oh-refresh, #p-kundenuebersicht .rp-oh-refresh {
  background:transparent;border:1px solid var(--bd);color:var(--tx3);
  border-radius: 5px;padding: 3px var(--space-2);font-size:11px;font-family:inherit;
  cursor:pointer;transition:all .12s
}

#p-kd-pipeline .rp-oh-refresh:hover, #p-kd-dms-orders .rp-oh-refresh:hover, #p-kundenuebersicht .rp-oh-refresh:hover {background:var(--sur2);color:var(--tx)}

#p-kd-pipeline .rp-oh-refresh:disabled, #p-kd-dms-orders .rp-oh-refresh:disabled, #p-kundenuebersicht .rp-oh-refresh:disabled {opacity:.5;cursor:wait}

#p-kd-pipeline .rp-oh-empty, #p-kd-dms-orders .rp-oh-empty, #p-kundenuebersicht .rp-oh-empty {
  font-size:11.5px;color:var(--tx3);font-style:italic;padding:4px 0
}

#p-kd-pipeline .rp-oh-list, #p-kd-dms-orders .rp-oh-list, #p-kundenuebersicht .rp-oh-list {
  display:flex;flex-direction:column;gap:1px
}

#p-kd-pipeline .rp-oh-row, #p-kd-dms-orders .rp-oh-row, #p-kundenuebersicht .rp-oh-row {
  display:flex;justify-content:space-between;gap: var(--space-3);
  padding: var(--space-1) 6px;font-size:12px;border-radius:4px
}

#p-kd-pipeline .rp-oh-row.is-today, #p-kd-dms-orders .rp-oh-row.is-today, #p-kundenuebersicht .rp-oh-row.is-today {
  background:rgba(213,217,96,.12);color:var(--tx);font-weight:500
}

#p-kd-pipeline .rp-oh-day, #p-kd-dms-orders .rp-oh-day, #p-kundenuebersicht .rp-oh-day {
  color:var(--tx3);font-family:'DM Mono',monospace;min-width:24px
}

#p-kd-pipeline .rp-oh-row.is-today .rp-oh-day, #p-kd-dms-orders .rp-oh-row.is-today .rp-oh-day, #p-kundenuebersicht .rp-oh-row.is-today .rp-oh-day {color:var(--ac)}

#p-kd-pipeline .rp-oh-label, #p-kd-dms-orders .rp-oh-label, #p-kundenuebersicht .rp-oh-label {color:var(--tx2);text-align:right;flex:1}

#p-kd-pipeline .rp-oh-row.is-today .rp-oh-label, #p-kd-dms-orders .rp-oh-row.is-today .rp-oh-label, #p-kundenuebersicht .rp-oh-row.is-today .rp-oh-label {color:var(--tx)}

/* Datenfehler-Banner im Slide-In (oberhalb der Map). Zeigt klar warum die
   Zeile als kaputt markiert ist und bietet einen Reset-Button. */
#p-kd-pipeline .rp-datenfehler-banner, #p-kd-dms-orders .rp-datenfehler-banner, #p-kundenuebersicht .rp-datenfehler-banner {
  display:flex;align-items:flex-start;gap: 10px;
  background:rgba(248,113,113,.08);border:1px solid var(--ac4);
  border-left:4px solid var(--ac4);
  border-radius: 8px;padding: 10px 14px;margin-bottom:12px
}

#p-kd-pipeline .rp-datenfehler-icon, #p-kd-dms-orders .rp-datenfehler-icon, #p-kundenuebersicht .rp-datenfehler-icon {
  font-size:18px;line-height:1;color:var(--ac4);flex-shrink:0;margin-top:1px
}

#p-kd-pipeline .rp-datenfehler-body, #p-kd-dms-orders .rp-datenfehler-body, #p-kundenuebersicht .rp-datenfehler-body {flex:1;min-width:0}

#p-kd-pipeline .rp-datenfehler-title, #p-kd-dms-orders .rp-datenfehler-title, #p-kundenuebersicht .rp-datenfehler-title {
  font-size:12.5px;font-weight:600;color:var(--ac4);line-height:1.3
}

#p-kd-pipeline .rp-datenfehler-sub, #p-kd-dms-orders .rp-datenfehler-sub, #p-kundenuebersicht .rp-datenfehler-sub {
  font-size:11px;color:var(--tx3);margin-top: 3px;line-height:1.4
}

#p-kd-pipeline .rp-datenfehler-reset, #p-kd-dms-orders .rp-datenfehler-reset, #p-kundenuebersicht .rp-datenfehler-reset {
  background:transparent;border:1px solid var(--ac4);color:var(--ac4);
  border-radius: var(--radius-md);padding: 5px 10px;font-size:11.5px;font-family:inherit;
  cursor:pointer;white-space:nowrap;transition:all .12s;align-self:center
}

#p-kd-pipeline .rp-datenfehler-reset:hover, #p-kd-dms-orders .rp-datenfehler-reset:hover, #p-kundenuebersicht .rp-datenfehler-reset:hover {
  background:var(--ac4);color:#fff
}

/* Maps-Container im Slide-In */
#p-kd-pipeline .rp-map-wrap, #p-kd-dms-orders .rp-map-wrap, #p-kundenuebersicht .rp-map-wrap {
  position:relative;background:var(--sur2);border:1px solid var(--bd);
  border-radius: 8px;overflow:hidden;margin-bottom: 10px;
  aspect-ratio:4/3
}

#p-kd-pipeline .rp-map-wrap iframe, #p-kd-dms-orders .rp-map-wrap iframe, #p-kundenuebersicht .rp-map-wrap iframe {
  width:100%;height:100%;border:0;display:block
}

#p-kd-pipeline .rp-map-loading, #p-kd-dms-orders .rp-map-loading, #p-kundenuebersicht .rp-map-loading, , #p-kd-dms-orders .rp-map-fail, #p-kundenuebersicht .rp-map-fail {
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:12px;text-align:center;padding: 20px;background:var(--sur2);z-index:1
}

#p-kd-pipeline .rp-map-loading, #p-kd-dms-orders .rp-map-loading, #p-kundenuebersicht .rp-map-loading {color:var(--tx3)}

#p-kd-pipeline .rp-map-fail, #p-kd-dms-orders .rp-map-fail, #p-kundenuebersicht .rp-map-fail {color:var(--ac4)}

#p-kd-pipeline .rp-map-actions, #p-kd-dms-orders .rp-map-actions, #p-kundenuebersicht .rp-map-actions {
  display:flex;gap: 6px;margin-bottom:14px
}

#p-kd-pipeline .rp-map-actions .n-btn, #p-kd-dms-orders .rp-map-actions .n-btn, #p-kundenuebersicht .rp-map-actions .n-btn {flex:1;font-size:11.5px;padding: var(--space-2) 10px}

/* Zoom-Steuerung: +/− / Level / Refresh / Map-Links — kompakte horizontale Bar */
#p-kd-pipeline .rp-zoom-bar, #p-kd-dms-orders .rp-zoom-bar, #p-kundenuebersicht .rp-zoom-bar {
  display:flex;align-items:center;gap: 0;margin-bottom: 10px;
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  padding: 3px;
}

#p-kd-pipeline .rp-zoom-btn, #p-kd-dms-orders .rp-zoom-btn, #p-kundenuebersicht .rp-zoom-btn {
  background:transparent;border:none;color:var(--tx2);
  width:28px;height:28px;padding: 0;line-height:1;font-size:14px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius: 5px;transition:background .12s, color .12s;
}

#p-kd-pipeline .rp-zoom-btn:hover, #p-kd-dms-orders .rp-zoom-btn:hover, #p-kundenuebersicht .rp-zoom-btn:hover {background:var(--sur2);color:var(--tx)}

#p-kd-pipeline .rp-zoom-refresh, #p-kd-dms-orders .rp-zoom-refresh, #p-kundenuebersicht .rp-zoom-refresh {font-size:13px}

#p-kd-pipeline .rp-zoom-level, #p-kd-dms-orders .rp-zoom-level, #p-kundenuebersicht .rp-zoom-level {
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3);
  padding: 0 var(--space-2);min-width:54px;text-align:center;letter-spacing:.02em;
}

/* Stammdaten-Card */
#p-kd-pipeline .rp-detail-stamm, #p-kd-dms-orders .rp-detail-stamm, #p-kundenuebersicht .rp-detail-stamm {
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: 10px 14px;margin-bottom:14px
}

#p-kd-pipeline .rp-stamm-row, #p-kd-dms-orders .rp-stamm-row, #p-kundenuebersicht .rp-stamm-row {
  display:flex;justify-content:space-between;gap: var(--space-3);
  font-size:11.5px;padding: 5px 0;border-bottom:1px solid var(--bd)
}

#p-kd-pipeline .rp-stamm-row:last-child, #p-kd-dms-orders .rp-stamm-row:last-child, #p-kundenuebersicht .rp-stamm-row:last-child {border-bottom:0}

#p-kd-pipeline .rp-stamm-row > span:first-child, #p-kd-dms-orders .rp-stamm-row > span:first-child, #p-kundenuebersicht .rp-stamm-row > span:first-child {
  color:var(--tx3);text-transform:uppercase;font-size:10px;
  letter-spacing:.05em;flex-shrink:0;font-weight:500
}

#p-kd-pipeline .rp-stamm-row > span:last-child, #p-kd-dms-orders .rp-stamm-row > span:last-child, #p-kundenuebersicht .rp-stamm-row > span:last-child {
  color:var(--tx);text-align:right;flex:1
}

#p-kd-pipeline .rp-stamm-warn > span:last-child, #p-kd-dms-orders .rp-stamm-warn > span:last-child, #p-kundenuebersicht .rp-stamm-warn > span:last-child {color:var(--ac3)}

#p-kd-pipeline .rp-stamm-multiline, #p-kd-dms-orders .rp-stamm-multiline, #p-kundenuebersicht .rp-stamm-multiline {flex-direction:column;align-items:stretch}

#p-kd-pipeline .rp-stamm-multiline > span:last-child, #p-kd-dms-orders .rp-stamm-multiline > span:last-child, #p-kundenuebersicht .rp-stamm-multiline > span:last-child {text-align:left;margin-top: var(--space-1)}

/* Workflow-Editor */
#p-kd-pipeline .rp-wf, #p-kd-dms-orders .rp-wf, #p-kundenuebersicht .rp-wf {
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding:14px 16px
}

#p-kd-pipeline .rp-wf h4, #p-kd-dms-orders .rp-wf h4, #p-kundenuebersicht .rp-wf h4 {
  margin: 0 0 var(--space-3);font-size:10px;font-weight:500;
  color:var(--tx3);text-transform:uppercase;letter-spacing:.08em
}

#p-kd-pipeline .rp-wf-row, #p-kd-dms-orders .rp-wf-row, #p-kundenuebersicht .rp-wf-row {
  display:grid;grid-template-columns:110px 1fr;gap: 10px;
  align-items:center;margin-bottom: var(--space-2);font-size:11.5px
}

#p-kd-pipeline .rp-wf-row label, #p-kd-dms-orders .rp-wf-row label, #p-kundenuebersicht .rp-wf-row label {color:var(--tx3);font-size:11px}

#p-kd-pipeline .rp-wf-row .rp-input, #p-kd-dms-orders .rp-wf-row .rp-input, #p-kundenuebersicht .rp-wf-row .rp-input {
  background:var(--sur);border:1px solid var(--bd);color:var(--tx);
  border-radius: var(--radius-md);padding: 7px 9px;font-size:12px;font-family:inherit;outline:none;
  transition:border-color .12s;width:100%
}

#p-kd-pipeline .rp-wf-row .rp-input:focus, #p-kd-dms-orders .rp-wf-row .rp-input:focus, #p-kundenuebersicht .rp-wf-row .rp-input:focus {border-color:var(--ac)}

/* Datum + Uhrzeit getrennt: Datum nimmt mehr Platz, Uhrzeit nur was sie
   braucht — User soll auf einen Blick „aha, 2 Felder" sehen. */
#p-kd-pipeline .rp-dt-pair, #p-kd-dms-orders .rp-dt-pair, #p-kundenuebersicht .rp-dt-pair {display:grid;grid-template-columns:1fr 90px;gap: 6px}

#p-kd-pipeline .rp-dt-pair .rp-input, #p-kd-dms-orders .rp-dt-pair .rp-input, #p-kundenuebersicht .rp-dt-pair .rp-input {padding: 7px 9px}

#p-kd-pipeline .rp-dt-time, #p-kd-dms-orders .rp-dt-time, #p-kundenuebersicht .rp-dt-time {font-variant-numeric:tabular-nums}

#p-kd-pipeline .rp-wf-readonly, #p-kd-dms-orders .rp-wf-readonly, #p-kundenuebersicht .rp-wf-readonly {
  font-size:11.5px;color:var(--tx2);padding: 7px 9px;
  background:transparent;border:1px dashed var(--bd);border-radius:6px
}

#p-kd-pipeline .rp-wf + .rp-wf, #p-kd-dms-orders .rp-wf + .rp-wf, #p-kundenuebersicht .rp-wf + .rp-wf {margin-top: 14px}

/* Versionsverlauf */
#p-kd-pipeline .rp-history, #p-kd-dms-orders .rp-history, #p-kundenuebersicht .rp-history {
  margin-top: var(--space-4);background:var(--sur2);border:1px solid var(--bd);
  border-radius: 8px;padding:10px 14px
}

#p-kd-pipeline .rp-history summary, #p-kd-dms-orders .rp-history summary, #p-kundenuebersicht .rp-history summary {
  font-size:10px;font-weight:500;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  padding: var(--space-1) 0;list-style:none
}

#p-kd-pipeline .rp-history summary::-webkit-details-marker, #p-kd-dms-orders .rp-history summary::-webkit-details-marker, #p-kundenuebersicht .rp-history summary::-webkit-details-marker {display:none}

#p-kd-pipeline .rp-history summary::before, #p-kd-dms-orders .rp-history summary::before, #p-kundenuebersicht .rp-history summary::before {
  content:'▸';margin-right: 6px;display:inline-block;transition:transform .15s
}

#p-kd-pipeline .rp-history[open] summary::before, #p-kd-dms-orders .rp-history[open] summary::before, #p-kundenuebersicht .rp-history[open] summary::before {transform:rotate(90deg)}

#p-kd-pipeline .rp-history-list, #p-kd-dms-orders .rp-history-list, #p-kundenuebersicht .rp-history-list {margin-top: 10px;font-size:11.5px}

/* Audit-Trail (2026-05-20): kompakte Zeile time · who · desc, keine Diffs.
   Grid-Layout damit Spalten gleich ausgerichtet sind. */
#p-kd-pipeline .rp-hist-entry, #p-kd-dms-orders .rp-hist-entry, #p-kundenuebersicht .rp-hist-entry {
  display:grid;grid-template-columns:140px 110px 1fr;gap: 10px;
  padding: 5px 0;border-bottom:1px dashed var(--bd);align-items:center
}

#p-kd-pipeline .rp-hist-entry:last-child, #p-kd-dms-orders .rp-hist-entry:last-child, #p-kundenuebersicht .rp-hist-entry:last-child {border-bottom:0}

#p-kd-pipeline .rp-hist-time, #p-kd-dms-orders .rp-hist-time, #p-kundenuebersicht .rp-hist-time {
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace
}

#p-kd-pipeline .rp-hist-who, #p-kd-dms-orders .rp-hist-who, #p-kundenuebersicht .rp-hist-who {
  font-size:11px;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}

#p-kd-pipeline .rp-hist-desc, #p-kd-dms-orders .rp-hist-desc, #p-kundenuebersicht .rp-hist-desc {font-size:11px;color:var(--tx)}

#p-kd-pipeline .rp-hist-initial .rp-hist-desc, #p-kd-dms-orders .rp-hist-initial .rp-hist-desc, #p-kundenuebersicht .rp-hist-initial .rp-hist-desc {color:var(--ac);font-style:italic}

#p-kd-pipeline .rp-wf-row-full, #p-kd-dms-orders .rp-wf-row-full, #p-kundenuebersicht .rp-wf-row-full {grid-template-columns:1fr;align-items:start}

#p-kd-pipeline .rp-wf-row-full label, #p-kd-dms-orders .rp-wf-row-full label, #p-kundenuebersicht .rp-wf-row-full label {margin-bottom: var(--space-1)}

#p-kd-pipeline .rp-wf-row-full textarea.rp-input, #p-kd-dms-orders .rp-wf-row-full textarea.rp-input, #p-kundenuebersicht .rp-wf-row-full textarea.rp-input {min-height:70px;resize:vertical}

#p-kd-pipeline .rp-wf-solar, #p-kd-dms-orders .rp-wf-solar, #p-kundenuebersicht .rp-wf-solar {display:flex;gap: 6px}

#p-kd-pipeline .rp-solar-btn, #p-kd-dms-orders .rp-solar-btn, #p-kundenuebersicht .rp-solar-btn {
  flex:1;padding: 3px var(--space-2);font-size:11px;font-family:inherit;
  background:var(--bg);border:1px solid var(--bd);border-radius: 5px;
  color:var(--tx3);cursor:pointer;transition:all .12s
}

#p-kd-pipeline .rp-solar-btn:hover, #p-kd-dms-orders .rp-solar-btn:hover, #p-kundenuebersicht .rp-solar-btn:hover {background:var(--sur2);color:var(--tx)}

#p-kd-pipeline .rp-solar-btn.is-on, #p-kd-dms-orders .rp-solar-btn.is-on, #p-kundenuebersicht .rp-solar-btn.is-on {
  background:var(--bg);border-color:var(--tx);color:var(--tx);font-weight:600
}

#p-kd-pipeline .rp-wf-foot, #p-kd-dms-orders .rp-wf-foot, #p-kundenuebersicht .rp-wf-foot {
  display:flex;align-items:center;gap: var(--space-3);margin-top: 14px;
  padding-top: var(--space-3);border-top:1px solid var(--bd)
}

#p-kd-pipeline .rp-wf-stamp, #p-kd-dms-orders .rp-wf-stamp, #p-kundenuebersicht .rp-wf-stamp {
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace
}

/* ── Pipeline-List Spalten 2026-05-13 ── */

/* Telefon: Klartext, Mono-Font für Lesbarkeit */
#p-kd-pipeline .rp-col-tel, #p-kd-dms-orders .rp-col-tel, #p-kundenuebersicht .rp-col-tel {white-space:nowrap}

#p-kd-pipeline .rp-tel-text, #p-kd-dms-orders .rp-tel-text, #p-kundenuebersicht .rp-tel-text {
  font-family:'DM Mono',monospace;font-size:11.5px;color:var(--tx2)
}

#p-kd-pipeline .rp-tel-none, #p-kd-dms-orders .rp-tel-none, #p-kundenuebersicht .rp-tel-none {color:var(--tx3);font-size:11px}

/* Trailing-Chevron */
#p-kd-pipeline .rp-col-chev, #p-kd-dms-orders .rp-col-chev, #p-kundenuebersicht .rp-col-chev {
  width:20px;color:var(--tx3);text-align:right;
  font-size:14px;line-height:1;padding-right:10px
}

#p-kd-pipeline tr:hover .rp-col-chev, #p-kd-dms-orders tr:hover .rp-col-chev, #p-kundenuebersicht tr:hover .rp-col-chev {color:var(--ac)}

/* Pagi-Range "1 – 8 von 434" rechts im Tabellen-Header */
#p-kd-pipeline .rp-range, #p-kd-dms-orders .rp-range, #p-kundenuebersicht .rp-range {
  margin-left: auto;font-family:'DM Mono',monospace;
  font-size:11px;color:var(--tx3);white-space:nowrap
}

/* Score-Spalte: Validity-Pill aus Daten-Check Stufe 1 (2026-05-13) */
#p-kd-pipeline .rp-col-score, #p-kd-dms-orders .rp-col-score, #p-kundenuebersicht .rp-col-score {white-space:nowrap;text-align:center;width:64px}

#p-kd-pipeline .rp-vpill, #p-kd-dms-orders .rp-vpill, #p-kundenuebersicht .rp-vpill {
  display:inline-block;padding: 2px var(--space-2);border-radius: 11px;
  font-size:10.5px;font-weight:500;font-family:'DM Mono',monospace;white-space:nowrap
}

#p-kd-pipeline .rp-vpill-ok, #p-kd-dms-orders .rp-vpill-ok, #p-kundenuebersicht .rp-vpill-ok {background:rgba(122,128,36,.15);color:var(--ac)}

#p-kd-pipeline .rp-vpill-warn, #p-kd-dms-orders .rp-vpill-warn, #p-kundenuebersicht .rp-vpill-warn {background:rgba(245,158,11,.12);color:var(--ac3)}

#p-kd-pipeline .rp-vpill-bad, #p-kd-dms-orders .rp-vpill-bad, #p-kundenuebersicht .rp-vpill-bad {background:rgba(248,113,113,.10);color:var(--ac4)}

#p-kd-pipeline .rp-vpill-na, #p-kd-dms-orders .rp-vpill-na, #p-kundenuebersicht .rp-vpill-na {background:var(--sur2);color:var(--tx3)}

/* Solar-Bulk-Icon im Header (Sonne, leicht warm-gelblich) */
#p-kd-pipeline .rp-icon-solar-bulk, #p-kd-dms-orders .rp-icon-solar-bulk, #p-kundenuebersicht .rp-icon-solar-bulk {color:var(--ac3)}

#p-kd-pipeline .rp-icon-solar-bulk:hover, #p-kd-dms-orders .rp-icon-solar-bulk:hover, #p-kundenuebersicht .rp-icon-solar-bulk:hover {background:rgba(245,158,11,.12);color:var(--ac3)}

#p-kd-pipeline .rp-icon-solar-bulk:disabled, #p-kd-dms-orders .rp-icon-solar-bulk:disabled, #p-kundenuebersicht .rp-icon-solar-bulk:disabled {opacity:.5;cursor:wait}

/* Komplett-Reset-Icon (Test-Tool, dezent rot — Confirm-Dialog im Click-Handler) */
#p-kd-pipeline .rp-icon-reset, #p-kd-dms-orders .rp-icon-reset, #p-kundenuebersicht .rp-icon-reset {color:var(--ac4)}

#p-kd-pipeline .rp-icon-reset:hover, #p-kd-dms-orders .rp-icon-reset:hover, #p-kundenuebersicht .rp-icon-reset:hover {background:rgba(220,80,80,.12);color:var(--ac4)}

/* KI-Solar-Check-Button im Slide-In Workflow-Block */
#p-kd-pipeline .rp-solar-ki-btn, #p-kd-dms-orders .rp-solar-ki-btn, #p-kundenuebersicht .rp-solar-ki-btn {
  width:100%;background:rgba(86,107,134,.10);border:1px solid var(--bd);
  border-radius: var(--radius-md);padding: var(--space-2) var(--space-3);font-size:11.5px;color:var(--tx);
  font-family:inherit;cursor:pointer;text-align:left;transition:all .12s
}

#p-kd-pipeline .rp-solar-ki-btn:hover, #p-kd-dms-orders .rp-solar-ki-btn:hover, #p-kundenuebersicht .rp-solar-ki-btn:hover {background:rgba(86,107,134,.18);border-color:var(--ac2)}

#p-kd-pipeline .rp-solar-ki-btn:disabled, #p-kd-dms-orders .rp-solar-ki-btn:disabled, #p-kundenuebersicht .rp-solar-ki-btn:disabled {opacity:.65;cursor:wait}

#p-kd-pipeline .rp-solar-stamp, #p-kd-dms-orders .rp-solar-stamp, #p-kundenuebersicht .rp-solar-stamp {font-size:10.5px;color:var(--tx3);margin-left: var(--space-2)}

/* Pagi enger: kein Trennstrich oben, näher an die Tabelle, weiter links (User 2026-05-13) */
#p-kd-pipeline #rp-list-view .pagi, #p-kd-dms-orders #rp-list-view .pagi, #p-kundenuebersicht #rp-list-view .pagi, , #p-kd-dms-orders #rp-pagi, #p-kundenuebersicht #rp-pagi, , #p-kd-dms-orders #rp-pagi-cards, #p-kundenuebersicht #rp-pagi-cards {
  border-top:0;padding: 6px var(--space-1) var(--space-2);gap:6px
}

/* Trennstrich + Map-Links in der Zoom-Bar */
#p-kd-pipeline .rp-zoom-sep, #p-kd-dms-orders .rp-zoom-sep, #p-kundenuebersicht .rp-zoom-sep {
  width:1px;height:16px;background:var(--bd);margin: 0 6px;flex-shrink:0;
}

#p-kd-pipeline .rp-zoom-link, #p-kd-dms-orders .rp-zoom-link, #p-kundenuebersicht .rp-zoom-link {
  background:transparent;border:0;color:var(--tx2);
  font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;
  padding: 0 10px;height:28px;border-radius: 5px;
  display:inline-flex;align-items:center;
  transition:background .12s,color .12s;
}

#p-kd-pipeline .rp-zoom-link:hover, #p-kd-dms-orders .rp-zoom-link:hover, #p-kundenuebersicht .rp-zoom-link:hover {background:var(--sur2);color:var(--tx)}

#p-kd-pipeline .rp-zoom-link:last-child, #p-kd-dms-orders .rp-zoom-link:last-child, #p-kundenuebersicht .rp-zoom-link:last-child {margin-left: auto}

/* Admin-only Icons (Bulk-Toggle, Solar-Bulk, Reload, Komplett-Reset) —
   für Non-Admin/Teamleiter komplett ausgeblendet. */
body:not(.is-admin) #p-kd-pipeline .rp-admin-only, #p-kd-dms-orders .rp-admin-only, #p-kundenuebersicht .rp-admin-only, body:not(.is-admin) #p-kd-pipeline .rp-admin-only {display:none !important}

/* Auto-Save-Indikator im Workflow-Footer. */
#p-kd-pipeline .rp-save-indicator, #p-kd-dms-orders .rp-save-indicator, #p-kundenuebersicht .rp-save-indicator {
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3);
  display:inline-block;min-width:140px;
}

#p-kd-pipeline .rp-save-indicator.is-pending, #p-kd-dms-orders .rp-save-indicator.is-pending, #p-kundenuebersicht .rp-save-indicator.is-pending {color:var(--ac3)}

#p-kd-pipeline .rp-save-indicator.is-saving, #p-kd-dms-orders .rp-save-indicator.is-saving, #p-kundenuebersicht .rp-save-indicator.is-saving {color:var(--ac2)}

#p-kd-pipeline .rp-save-indicator.is-saved, #p-kd-dms-orders .rp-save-indicator.is-saved, #p-kundenuebersicht .rp-save-indicator.is-saved {color:var(--tx3)}

#p-kd-pipeline .rp-save-indicator.is-error, #p-kd-dms-orders .rp-save-indicator.is-error, #p-kundenuebersicht .rp-save-indicator.is-error {color:var(--ac4);cursor:pointer}

/* Multi-Mail Liste — eine Zeile pro Adresse + "+ E-Mail"-Button. */
#p-kd-pipeline .rp-email-list, #p-kd-dms-orders .rp-email-list, #p-kundenuebersicht .rp-email-list {display:flex;flex-direction:column;gap: var(--space-1);width:100%}

#p-kd-pipeline .rp-email-row, #p-kd-dms-orders .rp-email-row, #p-kundenuebersicht .rp-email-row {display:flex;gap: var(--space-1);align-items:center}

#p-kd-pipeline .rp-email-row input, #p-kd-dms-orders .rp-email-row input, #p-kundenuebersicht .rp-email-row input {flex:1}

#p-kd-pipeline .rp-email-del, #p-kd-dms-orders .rp-email-del, #p-kundenuebersicht .rp-email-del {
  background:transparent;border:1px solid var(--bd);border-radius: 5px;
  width:26px;height:26px;font-size:14px;color:var(--tx3);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1;padding: 0;
}

#p-kd-pipeline .rp-email-del:hover, #p-kd-dms-orders .rp-email-del:hover, #p-kundenuebersicht .rp-email-del:hover {border-color:var(--ac4);color:var(--ac4)}

#p-kd-pipeline .rp-email-add, #p-kd-dms-orders .rp-email-add, #p-kundenuebersicht .rp-email-add {
  align-self:flex-start;margin-top: 2px;
  background:transparent;border:1px dashed var(--bd);border-radius: 5px;
  padding: var(--space-1) 10px;font-size:11px;color:var(--tx3);
  font-family:inherit;cursor:pointer;transition:all .12s;
}

#p-kd-pipeline .rp-email-add:hover, #p-kd-dms-orders .rp-email-add:hover, #p-kundenuebersicht .rp-email-add:hover {border-color:var(--tx2);color:var(--tx2)}

/* Input+Copy-Button-Wrapper (2026-05-20): Input nimmt vollen Platz, Button
   rechts daneben. Wird fuer Handy/Telefon/E-Mail im Slide-In genutzt. */
#p-kd-pipeline .rp-input-copy, #p-kd-dms-orders .rp-input-copy, #p-kundenuebersicht .rp-input-copy {display:flex;gap: var(--space-1);align-items:center;flex:1}

#p-kd-pipeline .rp-input-copy .rp-input, #p-kd-dms-orders .rp-input-copy .rp-input, #p-kundenuebersicht .rp-input-copy .rp-input {flex:1}

#p-kd-pipeline .rp-copy-btn, #p-kd-dms-orders .rp-copy-btn, #p-kundenuebersicht .rp-copy-btn {
  background:transparent;border:1px solid var(--bd);border-radius: 5px;
  width:26px;height:26px;font-size:14px;color:var(--tx3);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1;padding: 0;flex-shrink:0;transition:all .12s
}

#p-kd-pipeline .rp-copy-btn:hover, #p-kd-dms-orders .rp-copy-btn:hover, #p-kundenuebersicht .rp-copy-btn:hover {border-color:var(--ac);color:var(--ac);background:rgba(122,128,36,.08)}

#p-kd-pipeline .rp-copy-btn.is-copied, #p-kd-dms-orders .rp-copy-btn.is-copied, #p-kundenuebersicht .rp-copy-btn.is-copied {border-color:var(--ac);color:var(--ac)}

/* Eingeklappte weitere E-Mails */
#p-kd-pipeline .rp-email-more, #p-kd-dms-orders .rp-email-more, #p-kundenuebersicht .rp-email-more {margin-top: 2px}

#p-kd-pipeline .rp-email-more summary, #p-kd-dms-orders .rp-email-more summary, #p-kundenuebersicht .rp-email-more summary {
  cursor:pointer;font-size:11px;color:var(--tx3);padding: 3px 6px;
  list-style:none;display:inline-block
}

#p-kd-pipeline .rp-email-more summary::-webkit-details-marker, #p-kd-dms-orders .rp-email-more summary::-webkit-details-marker, #p-kundenuebersicht .rp-email-more summary::-webkit-details-marker {display:none}

#p-kd-pipeline .rp-email-more summary::before, #p-kd-dms-orders .rp-email-more summary::before, #p-kundenuebersicht .rp-email-more summary::before {
  content:'▶ ';font-size:9px;color:var(--tx3)
}

#p-kd-pipeline .rp-email-more[open] summary::before, #p-kd-dms-orders .rp-email-more[open] summary::before, #p-kundenuebersicht .rp-email-more[open] summary::before {content:'▼ '}

#p-kd-pipeline .rp-email-more summary:hover, #p-kd-dms-orders .rp-email-more summary:hover, #p-kundenuebersicht .rp-email-more summary:hover {color:var(--tx2)}

#p-kd-pipeline .rp-email-more > .rp-email-row, #p-kd-dms-orders .rp-email-more > .rp-email-row, #p-kundenuebersicht .rp-email-more > .rp-email-row {margin-top: var(--space-1)}

/* EEG-Vergütungs-Banner im MaStR-Block (2026-05-20).
   Color-Coded je nach Restzeit — beim Anruf wichtigster Hint. */
#p-kd-pipeline .rp-eeg-banner, #p-kd-dms-orders .rp-eeg-banner, #p-kundenuebersicht .rp-eeg-banner {
  display:flex;gap: var(--space-3);align-items:center;
  padding: var(--space-3) 14px;margin: 10px 0;
  border-radius: 8px;border:1px solid var(--bd)
}

#p-kd-pipeline .rp-eeg-icon, #p-kd-dms-orders .rp-eeg-icon, #p-kundenuebersicht .rp-eeg-icon {
  font-size:24px;line-height:1;flex-shrink:0
}

#p-kd-pipeline .rp-eeg-label, #p-kd-dms-orders .rp-eeg-label, #p-kundenuebersicht .rp-eeg-label {
  font-size:13.5px;font-weight:600;color:var(--tx);line-height:1.3
}

#p-kd-pipeline .rp-eeg-sub, #p-kd-dms-orders .rp-eeg-sub, #p-kundenuebersicht .rp-eeg-sub {
  font-size:11.5px;color:var(--tx2);margin-top:3px
}

/* HOT — ≤5 Jahre Restlaufzeit → roter Akzent */
#p-kd-pipeline .rp-eeg-banner.is-hot, #p-kd-dms-orders .rp-eeg-banner.is-hot, #p-kundenuebersicht .rp-eeg-banner.is-hot {
  background:rgba(248,113,113,.10);border-color:rgba(248,113,113,.5)
}

#p-kd-pipeline .rp-eeg-banner.is-hot .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-hot .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-hot .rp-eeg-label {color:var(--ac4)}

/* Expired — schon abgelaufen */
#p-kd-pipeline .rp-eeg-banner.is-expired, #p-kd-dms-orders .rp-eeg-banner.is-expired, #p-kundenuebersicht .rp-eeg-banner.is-expired {
  background:rgba(248,113,113,.16);border-color:rgba(248,113,113,.7)
}

#p-kd-pipeline .rp-eeg-banner.is-expired .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-expired .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-expired .rp-eeg-label {color:var(--ac4);font-weight:700}

/* WARM — 6-10 Jahre → orange */
#p-kd-pipeline .rp-eeg-banner.is-warm, #p-kd-dms-orders .rp-eeg-banner.is-warm, #p-kundenuebersicht .rp-eeg-banner.is-warm {
  background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.45)
}

#p-kd-pipeline .rp-eeg-banner.is-warm .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-warm .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-warm .rp-eeg-label {color:var(--ac3)}

/* COOL — 11+ Jahre → dezent */
#p-kd-pipeline .rp-eeg-banner.is-cool, #p-kd-dms-orders .rp-eeg-banner.is-cool, #p-kundenuebersicht .rp-eeg-banner.is-cool {
  background:var(--sur2);border-color:var(--bd)
}

#p-kd-pipeline .rp-eeg-banner.is-cool .rp-eeg-label, #p-kd-dms-orders .rp-eeg-banner.is-cool .rp-eeg-label, #p-kundenuebersicht .rp-eeg-banner.is-cool .rp-eeg-label {color:var(--tx2);font-weight:500}

/* kd-dms-* CSS entfernt 2026-05-30 — generische kd-* deckt DMS via TENANT_ALIASES ab */
/* Kundenübersicht (Mandanten-Übersicht, 2026-05-28)
   Plattform-Stil, einheitliche Typografie. Alles Inter, Mono nur für Zahlen. */

#p-kundenuebersicht { padding: 18px 22px; color:var(--tx); }

/* ── Hero (Mandant + KPIs) ──────────────────────────────────────── */
#p-kundenuebersicht .kd-hero {
  display:flex; justify-content:space-between; align-items:flex-end;
  gap: var(--space-5); margin-bottom: 22px; padding-bottom: var(--space-4);
  border-bottom:1px solid rgba(0,0,0,.08);
}
#p-kundenuebersicht .kd-hero-title {
  font-size:17px; font-weight:600; margin: 0 0 var(--space-1) 0;
  color:var(--tx); letter-spacing:-.01em;
}
#p-kundenuebersicht .kd-hero-sub {
  font-size:12px; color:var(--tx3); margin: 0; line-height:1.55;
  font-weight:400;
}
#p-kundenuebersicht .kd-kpis { display:flex; gap: var(--space-2); }
#p-kundenuebersicht .kd-kpi {
  background:var(--sur); border:1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-md); padding: 10px var(--space-4); min-width:104px;
}
#p-kundenuebersicht .kd-kpi-l {
  font-size:10px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--tx3); margin-bottom: var(--space-1); font-weight:500;
}
#p-kundenuebersicht .kd-kpi-v {
  font-size:20px; font-weight:600; color:var(--tx);
  font-family:'DM Mono', monospace; line-height:1.1;
}

/* ── Sektion ────────────────────────────────────────────────────── */
#p-kundenuebersicht .kd-section { margin-bottom: 26px; }
#p-kundenuebersicht .kd-section-head {
  display:flex; justify-content:space-between; align-items:baseline;
  margin-bottom: 10px; gap: var(--space-3);
}
#p-kundenuebersicht .kd-section-h {
  font-size:11px; font-weight:600; margin: 0;
  text-transform:uppercase; letter-spacing:.06em; color:var(--tx3);
}
#p-kundenuebersicht .kd-section-hint {
  font-size:11px; color:var(--tx3); font-weight:400;
}

/* ── Tabelle — alles Inter, ein Gewicht, eine Größe ─────────────── */
#p-kundenuebersicht .kd-table {
  width:100%; border-collapse:collapse;
  background:var(--sur); border-radius: var(--radius-md); overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  font-family:'Inter', sans-serif; font-size:12.5px;
}
#p-kundenuebersicht .kd-table th {
  text-align:left; padding: 10px 14px;
  color:var(--tx3); font-weight:500;
  font-size:10px; text-transform:uppercase; letter-spacing:.06em;
  background:var(--sur2); border-bottom:1px solid rgba(0,0,0,.08);
  font-family:'Inter', sans-serif;
}
#p-kundenuebersicht .kd-table td {
  padding: var(--space-3) 14px;
  border-bottom:1px solid rgba(0,0,0,.04);
  color:var(--tx); font-weight:400;
  vertical-align:middle;
  font-family:'Inter', sans-serif;
}
#p-kundenuebersicht .kd-table tr:last-child td { border-bottom:none; }
#p-kundenuebersicht .kd-table tbody tr.kd-row-click {
  cursor:pointer; transition:background .12s ease;
}
#p-kundenuebersicht .kd-table tbody tr.kd-row-click:hover { background:var(--sur2); }

/* Spezialformat NUR für Datum (Monospace, dezent) */
#p-kundenuebersicht .kd-table .kd-date {
  font-family:'DM Mono', monospace; color:var(--tx2); font-size:11.5px;
}
/* Firma bleibt normal Inter — nicht bold, nicht hervorgehoben */

/* ── Status-Pills (einziger Akzent) ─────────────────────────────── */
#p-kundenuebersicht .kd-status {
  display:inline-block; padding: 2px var(--space-2); border-radius: var(--radius-lg);
  font-size:10px; text-transform:uppercase; letter-spacing:.05em;
  font-weight:500; font-family:'Inter', sans-serif;
}
#p-kundenuebersicht .kd-status-neu        { background:rgba(245,158,11,.15); color:#b67700; }
#p-kundenuebersicht .kd-status-matched    { background:rgba(122,128,36,.18); color:#5a6020; }
#p-kundenuebersicht .kd-status-pending    { background:rgba(245,158,11,.15); color:#b67700; }
#p-kundenuebersicht .kd-status-paid       { background:rgba(122,128,36,.18); color:#5a6020; }
#p-kundenuebersicht .kd-status-delivered  { background:rgba(122,128,36,.22); color:#5a6020; }
#p-kundenuebersicht .kd-status-cancelled  { background:rgba(248,113,113,.14); color:#b91c1c; }

#p-kundenuebersicht .kd-empty {
  text-align:center; color:var(--tx3);
  padding: var(--space-5) var(--space-3); font-size:12px; font-style:normal;
  font-family:'Inter', sans-serif;
}

/* ═══════════════════════════════════════════════════════════════
   SLIDE-IN DRAWER (Kundenansicht-light)
═══════════════════════════════════════════════════════════════ */
#p-kundenuebersicht .kd-backdrop {
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  opacity:0; pointer-events:none; transition:opacity .25s ease; z-index:899;
}
#p-kundenuebersicht .kd-backdrop.open { opacity:1; pointer-events:auto; }

#p-kundenuebersicht .kd-drawer {
  position:fixed; top:0; right:0; bottom:0; width:520px; max-width:94vw;
  background:var(--bg); border-left:1px solid rgba(0,0,0,.10);
  box-shadow:-14px 0 36px rgba(0,0,0,.18);
  transform:translateX(100%); transition:transform .25s ease;
  z-index:900; display:flex; flex-direction:column;
}
#p-kundenuebersicht .kd-drawer.open { transform:translateX(0); }

/* Drawer-Header */
#p-kundenuebersicht .kd-drawer-head {
  padding: 20px var(--space-5) var(--space-4) var(--space-5);
  border-bottom:1px solid rgba(0,0,0,.06);
  position:relative;
}
#p-kundenuebersicht .kd-drawer-eyebrow {
  font-size:10px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--tx3); margin-bottom: 6px; font-weight:500;
}
#p-kundenuebersicht .kd-drawer-title {
  font-size:16px; font-weight:600; color:var(--tx); margin: 0 0 var(--space-1) 0;
  line-height:1.3; letter-spacing:-.01em;
}
#p-kundenuebersicht .kd-drawer-sub {
  font-size:12px; color:var(--tx3); line-height:1.5;
}
#p-kundenuebersicht .kd-drawer-close {
  position:absolute; top:16px; right:18px;
  background:transparent; border:none; color:var(--tx3); font-size:22px;
  cursor:pointer; line-height:1; padding: var(--space-1) var(--space-2); border-radius: 5px;
  font-family:'Inter', sans-serif;
}
#p-kundenuebersicht .kd-drawer-close:hover { background:var(--sur2); color:var(--tx); }

/* Action-Bar im Drawer */
#p-kundenuebersicht .kd-drawer-actions {
  display:flex; gap: 6px; flex-wrap:wrap;
  padding: 10px var(--space-5); border-bottom:1px solid rgba(0,0,0,.06);
  background:var(--sur);
}
#p-kundenuebersicht .kd-drawer-actions button {
  padding: 5px 11px; border:1px solid rgba(0,0,0,.10); border-radius: var(--radius-sm);
  background:var(--bg); color:var(--tx2); cursor:pointer;
  font-size:11.5px; font-family:'Inter', sans-serif; font-weight:400;
}
#p-kundenuebersicht .kd-drawer-actions button:hover {
  background:var(--sur2); color:var(--tx);
}

/* Drawer-Body */
#p-kundenuebersicht .kd-drawer-body {
  flex:1; overflow-y:auto; padding: 18px var(--space-5) 20px var(--space-5);
}
#p-kundenuebersicht .kd-block {
  margin-bottom: 20px; padding-bottom: var(--space-4);
  border-bottom:1px solid rgba(0,0,0,.05);
}
#p-kundenuebersicht .kd-block:last-child { border-bottom:none; margin-bottom: 0; }
#p-kundenuebersicht .kd-block-h {
  font-size:10px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--tx3); margin: 0 0 10px 0; font-weight:600;
}
#p-kundenuebersicht .kd-prop {
  display:flex; justify-content:space-between; align-items:baseline;
  gap: 14px; padding: 5px 0; font-size:12.5px;
  font-family:'Inter', sans-serif;
}
#p-kundenuebersicht .kd-prop-l {
  color:var(--tx3); font-weight:400;
  flex-shrink:0;
}
#p-kundenuebersicht .kd-prop-v {
  color:var(--tx); font-weight:400;
  text-align:right; word-break:break-word;
}
#p-kundenuebersicht .kd-prop-v.is-mono {
  font-family:'DM Mono', monospace; color:var(--tx2);
}
#p-kundenuebersicht .kd-bemerkung {
  background:var(--sur); padding: var(--space-3) 14px; border-radius: 5px;
  font-size:12.5px; color:var(--tx); line-height:1.55;
  border:1px solid rgba(0,0,0,.06);
  font-family:'Inter', sans-serif;
}
#p-kundenuebersicht .kd-recording {
  margin-top: 10px; width:100%;
}

/* Drawer-Footer */
#p-kundenuebersicht .kd-drawer-foot {
  padding: var(--space-3) var(--space-5); border-top:1px solid rgba(0,0,0,.06);
  display:flex; justify-content:flex-end; gap: var(--space-2);
}
#p-kundenuebersicht .kd-btn {
  padding: 7px 14px; border-radius: 5px; border:1px solid rgba(0,0,0,.10);
  background:var(--bg); color:var(--tx2); cursor:pointer;
  font-size:12px; font-family:'Inter', sans-serif; font-weight:400;
}
#p-kundenuebersicht .kd-btn:hover { background:var(--sur2); color:var(--tx); }
#p-kundenuebersicht .kd-btn.kd-btn-pri {
  background:var(--ac); color:var(--bg); border-color:var(--ac); font-weight:500;
}
#p-kundenuebersicht .kd-btn.kd-btn-pri:hover { filter:brightness(1.05); }

/* Kompakte Tabellen im Mandanten-Drawer (Kundenübersicht) */
#p-kundenuebersicht .kd-drawer .kd-table { font-size:11px; }
#p-kundenuebersicht .kd-drawer .kd-table th { padding: 6px var(--space-2); font-size:9.5px; }
#p-kundenuebersicht .kd-drawer .kd-table td { padding: 5px var(--space-2); font-size:11px; }
#p-kundenuebersicht .kd-drawer .kd-prop { padding: 3px 0; font-size:11.5px; }
#p-kundenuebersicht .kd-drawer .kd-block { margin-bottom: 14px; padding-bottom: 10px; }
#p-kundenuebersicht .kd-drawer .kd-block-h { font-size:9.5px; margin-bottom: 6px; }

/* ═══════════════════════════════════════════════════════════════
   Anpassungen am Pipeline-Slide-In für DMS-Sicht
═══════════════════════════════════════════════════════════════ */

/* :has()-Hide wurde entfernt — funktioniert nicht zuverlässig in allen Browsern.
   Stattdessen JS-Cleanup in kd-dms-orders-v2.js _cleanupSlideInForDms(). */

/* Side-Tabs in DMS-Sicht: E-Mail / WhatsApp / Aufgabe ausgrauen
   (Module noch nicht produktiv). MaStR bleibt aktiv.
   Layout bleibt, nicht klickbar. */
#p-kundenuebersicht #rp-side-mail,
#p-kundenuebersicht #rp-side-whatsapp,
#p-kundenuebersicht #rp-side-task {
  opacity:0.45;
  pointer-events:none;
  cursor:default;
}
#p-kundenuebersicht #rp-side-mail:hover,
#p-kundenuebersicht #rp-side-whatsapp:hover,
#p-kundenuebersicht #rp-side-task:hover {
  background:transparent;
  color:inherit;
}

/* ═══════════════════════════════════════════════════════════════
   DMS MaStR-Block — kompakt + unauffällig (Pipeline unverändert)
═══════════════════════════════════════════════════════════════ */

#p-kundenuebersicht .rp-mastr {
  margin-top: 10px;
  padding: var(--space-2) 10px;
  border-radius: var(--radius-md);
  border:1px solid rgba(0,0,0,.06);
  background:var(--sur2);
}
#p-kundenuebersicht .rp-mastr-h {
  font-size:10px;
  letter-spacing:.05em;
  margin-bottom: 6px;
}
#p-kundenuebersicht .rp-mastr-icon {
  width:14px; height:14px; font-size:9px;
}
#p-kundenuebersicht .rp-eeg-banner {
  margin-bottom: var(--space-2);
  padding: var(--space-2) 10px;
  border-radius: 5px;
  font-size:11px;
}
#p-kundenuebersicht .rp-eeg-label { font-size:11.5px; }
#p-kundenuebersicht .rp-eeg-sub   { font-size:10.5px; }
#p-kundenuebersicht .rp-mastr-kv {
  grid-template-columns:120px 1fr;
  gap: 2px var(--space-3);
  font-size:11.5px;
  line-height:1.4;
}
#p-kundenuebersicht .rp-mastr-kv dt { color:var(--tx3); }
#p-kundenuebersicht .rp-mastr-kv dd strong { font-size:11.5px; font-weight:500; }
#p-kundenuebersicht .rp-mastr-age { font-size:10px; }
#p-kundenuebersicht .rp-mastr-anl-list {
  margin-top: var(--space-2);
  padding: 6px var(--space-2);
  background:transparent;
  border:1px solid rgba(0,0,0,.05);
  border-radius: 5px;
}
#p-kundenuebersicht .rp-mastr-anl-h {
  font-size:9.5px;
  margin-bottom: var(--space-1);
  letter-spacing:.05em;
}
#p-kundenuebersicht .rp-mastr-anl-ol { gap: 2px; }
#p-kundenuebersicht .rp-mastr-anl-ol li {
  grid-template-columns:80px 50px 1fr;
  padding: 3px 6px;
  gap: var(--space-2);
  font-size:11px;
  background:transparent;
  border:none;
}
#p-kundenuebersicht .rp-mastr-anl-kwp { font-weight:500; }
#p-kundenuebersicht .rp-mastr-source {
  margin-top: 6px;
  font-size:10px;
  color:var(--tx3);
}

/* Edit-Drawer (2026-05-30) — schmaler als Detail-Drawer für Form-Layout */
#p-kundenuebersicht #mu-edit-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: 480px; max-width: 95vw;
  background: var(--sur);
  border-left: 1px solid var(--bd);
  transform: translateX(100%);
  transition: transform .25s ease;
  z-index: 1001;
  display: flex; flex-direction: column;
}
#p-kundenuebersicht #mu-edit-drawer.open { transform: translateX(0); }
#p-kundenuebersicht #mu-edit-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.55);
  opacity: 0; pointer-events: none; transition: opacity .25s; z-index: 1000;
}
#p-kundenuebersicht #mu-edit-backdrop.open { opacity: 1; pointer-events: auto; }
#p-kundenuebersicht .kd-form-row {
  display: flex; align-items: center; gap: 10px; margin-bottom: 8px;
}
#p-kundenuebersicht .kd-form-row label {
  flex: 0 0 130px; font-size: 12px; color: var(--tx3); font-weight: 500;
}
#p-kundenuebersicht .kd-form-row input,
#p-kundenuebersicht .kd-form-row select {
  flex: 1; min-width: 0;
}

/* Danger-Variante des kd-btn — für Lösch-Aktionen */
#p-kundenuebersicht .kd-btn-danger {
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.30);
  color: #b91c1c;
}
#p-kundenuebersicht .kd-btn-danger:hover {
  background: rgba(239,68,68,.18);
  border-color: rgba(239,68,68,.50);
}

/* Success-Variante des kd-btn — für Freigeben/Approve-Aktionen */
#p-kundenuebersicht .kd-btn-success {
  background: rgba(34,197,94,.12);
  border-color: rgba(34,197,94,.40);
  color: #15803d;
  font-weight: 600;
}
#p-kundenuebersicht .kd-btn-success:hover {
  background: rgba(34,197,94,.22);
  border-color: rgba(34,197,94,.60);
}


/* Marktplatz-Tickets + Repowering-Promo-Codes (2026-05-28, erw. 2026-05-31)
 * Beide Pages teilen den .mt-*-Style. Jeder Selektor wird auf beide Page-IDs
 * verteilt (Komma-Distribution), nicht als gemeinsamer Vorfahre. */

#p-marktplatz-tickets,
#p-repowering-promo-codes { padding: 18px 22px; color: var(--tx); }

#p-marktplatz-tickets .mt-wrap,
#p-repowering-promo-codes .mt-wrap { max-width: 1280px; }

/* Hero */
#p-marktplatz-tickets .mt-hero,
#p-repowering-promo-codes .mt-hero {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: var(--space-5); margin-bottom: 22px; padding-bottom: var(--space-4);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
#p-marktplatz-tickets .mt-h1,
#p-repowering-promo-codes .mt-h1 {
  font-size: 17px; font-weight: 600; margin: 0 0 var(--space-1) 0;
  color: var(--tx); letter-spacing: -.01em;
}
#p-marktplatz-tickets .mt-sub,
#p-repowering-promo-codes .mt-sub {
  font-size: 12px; color: var(--tx3); margin: 0;
}
#p-marktplatz-tickets .mt-kpis,
#p-repowering-promo-codes .mt-kpis { display: flex; gap: var(--space-2); }
#p-marktplatz-tickets .mt-kpi,
#p-repowering-promo-codes .mt-kpi {
  background: var(--sur); border: 1px solid rgba(0,0,0,.06);
  border-radius: var(--radius-md); padding: 10px var(--space-4); min-width: 92px;
}
#p-marktplatz-tickets .mt-kpi-l,
#p-repowering-promo-codes .mt-kpi-l {
  font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--tx3); margin-bottom: var(--space-1); font-weight: 500;
}
#p-marktplatz-tickets .mt-kpi-v,
#p-repowering-promo-codes .mt-kpi-v {
  font-size: 20px; font-weight: 600; color: var(--tx);
  font-family: 'DM Mono', monospace; line-height: 1.1;
}

/* Toolbar */
#p-marktplatz-tickets .mt-toolbar,
#p-repowering-promo-codes .mt-toolbar {
  display: flex; justify-content: space-between; align-items: center;
  gap: 14px; margin-bottom: 14px;
}
#p-marktplatz-tickets .mt-filters,
#p-repowering-promo-codes .mt-filters { display: flex; gap: var(--space-2); flex-wrap: wrap; }
#p-marktplatz-tickets .mt-filters select,
#p-marktplatz-tickets .mt-filters input,
#p-repowering-promo-codes .mt-filters select,
#p-repowering-promo-codes .mt-filters input {
  padding: 6px 10px; border-radius: 5px;
  border: 1px solid rgba(0,0,0,.10);
  background: var(--bg); color: var(--tx);
  font-family: 'Inter', sans-serif; font-size: 12px;
}
#p-marktplatz-tickets .mt-filters input,
#p-repowering-promo-codes .mt-filters input { width: 200px; }
#p-marktplatz-tickets .mt-btn-pri,
#p-repowering-promo-codes .mt-btn-pri {
  padding: 7px 14px; border-radius: 5px;
  background: var(--ac); color: var(--bg); border: 1px solid var(--ac);
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
  cursor: pointer;
}
#p-marktplatz-tickets .mt-btn-pri:hover,
#p-repowering-promo-codes .mt-btn-pri:hover { filter: brightness(1.05); }

#p-marktplatz-tickets .mt-btn,
#p-repowering-promo-codes .mt-btn {
  padding: 7px 14px; border-radius: 5px;
  background: transparent; color: var(--tx); border: 1px solid rgba(0,0,0,.12);
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 500;
  cursor: pointer;
}
#p-marktplatz-tickets .mt-btn:hover,
#p-repowering-promo-codes .mt-btn:hover { background: var(--sur2); }

/* Tabelle */
#p-marktplatz-tickets .mt-table,
#p-repowering-promo-codes .mt-table {
  width: 100%; border-collapse: collapse;
  background: var(--sur); border-radius: var(--radius-md); overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
  font-family: 'Inter', sans-serif; font-size: 12.5px;
}
#p-marktplatz-tickets .mt-table th,
#p-repowering-promo-codes .mt-table th {
  text-align: left; padding: 10px 14px;
  color: var(--tx3); font-weight: 500;
  font-size: 10px; text-transform: uppercase; letter-spacing: .06em;
  background: var(--sur2); border-bottom: 1px solid rgba(0,0,0,.08);
}
#p-marktplatz-tickets .mt-table td,
#p-repowering-promo-codes .mt-table td {
  padding: var(--space-3) 14px;
  border-bottom: 1px solid rgba(0,0,0,.04);
  color: var(--tx); vertical-align: middle;
}
#p-marktplatz-tickets .mt-table tr:last-child td,
#p-repowering-promo-codes .mt-table tr:last-child td { border-bottom: none; }
#p-marktplatz-tickets .mt-mono,
#p-repowering-promo-codes .mt-mono {
  font-family: 'DM Mono', monospace; color: var(--tx2); font-size: 11.5px;
}
#p-marktplatz-tickets .mt-row-desc,
#p-repowering-promo-codes .mt-row-desc {
  font-size: 11px; color: var(--tx3); margin-top: 2px;
}
#p-marktplatz-tickets .mt-empty,
#p-repowering-promo-codes .mt-empty {
  text-align: center; color: var(--tx3); padding: 26px var(--space-3); font-size: 12px;
}

/* Kategorie-Tags */
#p-marktplatz-tickets .mt-cat {
  display: inline-block; padding: 2px 7px; border-radius: 3px;
  font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
  background: var(--sur2); color: var(--tx2);
}
#p-marktplatz-tickets .mt-cat-technisch { background: rgba(59,130,246,.14); color: #1d4ed8; }
#p-marktplatz-tickets .mt-cat-storno    { background: rgba(245,158,11,.16); color: #b67700; }
#p-marktplatz-tickets .mt-cat-frage     { background: rgba(122,128,36,.16); color: #5a6020; }
#p-marktplatz-tickets .mt-cat-feature   { background: rgba(168,85,247,.14); color: #7e22ce; }

/* Status-Pills */
#p-marktplatz-tickets .mt-status,
#p-repowering-promo-codes .mt-status {
  display: inline-block; padding: 2px var(--space-2); border-radius: var(--radius-lg);
  font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
}
#p-marktplatz-tickets .mt-status-open              { background: rgba(245,158,11,.16); color: #b67700; }
#p-marktplatz-tickets .mt-status-in_progress       { background: rgba(59,130,246,.14); color: #1d4ed8; }
#p-marktplatz-tickets .mt-status-waiting_customer  { background: rgba(168,85,247,.14); color: #7e22ce; }
#p-marktplatz-tickets .mt-status-resolved          { background: rgba(122,128,36,.18); color: #5a6020; }
#p-marktplatz-tickets .mt-status-closed            { background: var(--sur2); color: var(--tx3); }

#p-repowering-promo-codes .mt-status-aktiv        { background: rgba(122,128,36,.18); color: #5a6020; }
#p-repowering-promo-codes .mt-status-deaktiviert  { background: var(--sur2); color: var(--tx3); }
#p-repowering-promo-codes .mt-status-abgelaufen   { background: rgba(245,158,11,.16); color: #b67700; }

/* Prio */
#p-marktplatz-tickets .mt-prio {
  display: inline-block; font-size: 11px; font-weight: 500;
  font-family: 'DM Mono', monospace;
}
#p-marktplatz-tickets .mt-prio-low      { color: var(--tx3); }
#p-marktplatz-tickets .mt-prio-normal   { color: var(--tx2); }
#p-marktplatz-tickets .mt-prio-high     { color: #b67700; }
#p-marktplatz-tickets .mt-prio-critical { color: #b91c1c; font-weight: 600; }

/* ─────────── Modal (Tickets + Promo-Codes) ─────────── */
#p-marktplatz-tickets .mt-modal-backdrop,
#p-repowering-promo-codes .mt-modal-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.34);
  z-index: 9000;
  backdrop-filter: blur(2px);
}
#p-marktplatz-tickets .mt-modal,
#p-repowering-promo-codes .mt-modal {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: min(640px, calc(100vw - 40px));
  max-height: calc(100vh - 60px);
  background: var(--sur);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
  z-index: 9001;
  display: flex; flex-direction: column;
  overflow: hidden;
}
#p-marktplatz-tickets .mt-modal-head,
#p-repowering-promo-codes .mt-modal-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
#p-marktplatz-tickets .mt-modal-head h2,
#p-repowering-promo-codes .mt-modal-head h2 {
  margin: 0; font-size: 15px; font-weight: 600; color: var(--tx);
}
#p-marktplatz-tickets .mt-modal-close,
#p-repowering-promo-codes .mt-modal-close {
  background: transparent; border: none; cursor: pointer;
  font-size: 20px; line-height: 1; color: var(--tx3);
  padding: 4px 8px; border-radius: 4px;
}
#p-marktplatz-tickets .mt-modal-close:hover,
#p-repowering-promo-codes .mt-modal-close:hover { background: var(--sur2); color: var(--tx); }
#p-marktplatz-tickets .mt-modal-body,
#p-repowering-promo-codes .mt-modal-body {
  padding: 18px 20px;
  display: flex; flex-direction: column; gap: 14px;
  overflow-y: auto;
}
#p-marktplatz-tickets .mt-modal-foot,
#p-repowering-promo-codes .mt-modal-foot {
  display: flex; justify-content: flex-end; gap: 8px;
  padding-top: 6px;
  border-top: 1px solid rgba(0,0,0,.04);
  margin-top: 6px;
  padding-top: 14px;
}

/* Form-Felder */
#p-marktplatz-tickets .mt-field,
#p-repowering-promo-codes .mt-field {
  display: flex; flex-direction: column; gap: 5px;
  flex: 1; min-width: 0;
}
#p-marktplatz-tickets .mt-field-row,
#p-repowering-promo-codes .mt-field-row {
  display: flex; gap: 12px;
}
#p-marktplatz-tickets .mt-label,
#p-repowering-promo-codes .mt-label {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--tx3); font-weight: 500;
}
#p-marktplatz-tickets .mt-input,
#p-repowering-promo-codes .mt-input {
  padding: 8px 11px; border-radius: 5px;
  border: 1px solid rgba(0,0,0,.12);
  background: var(--bg); color: var(--tx);
  font-family: 'Inter', sans-serif; font-size: 12.5px;
  width: 100%; box-sizing: border-box;
}
#p-marktplatz-tickets .mt-input:focus,
#p-repowering-promo-codes .mt-input:focus {
  outline: none; border-color: var(--ac);
  box-shadow: 0 0 0 3px rgba(122,128,36,.14);
}
#p-marktplatz-tickets textarea.mt-input,
#p-repowering-promo-codes textarea.mt-input {
  resize: vertical; min-height: 56px;
  font-family: 'Inter', sans-serif;
}
#p-marktplatz-tickets .mt-error,
#p-repowering-promo-codes .mt-error {
  padding: 8px 12px; border-radius: 5px;
  background: rgba(185,28,28,.08);
  border: 1px solid rgba(185,28,28,.24);
  color: #b91c1c; font-size: 12px;
}

/* Stammdaten-Look (ehemals Kundenlogin Walk-Through, 2026-05-24).
 * Klassen-Namespace .kl-* — Trio-Pattern.
 *
 * Eine Page zieht den Stil indem sie `class="page kl-host"` setzt.
 * Die 10 Walk-Through-Pages (id beginnt mit "p-kl-") werden automatisch
 * mit-matched, damit sie nicht refactort werden müssen.
 */

[id^="p-kl-"],
.kl-host { padding: 18px 22px; color: var(--tx); }

[id^="p-kl-"] .kl-wrap,
.kl-host .kl-wrap { max-width: 1000px; margin: 0 auto; }

/* Walk-Through-Header oben — nur kl-Pages */
[id^="p-kl-"] .kl-walk {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 14px; margin-bottom: 18px;
  background: rgba(255,255,255,.03);
  border: 1px dashed rgba(255,255,255,.10);
  border-radius: var(--radius-md); font-size: 11.5px;
}
[id^="p-kl-"] .kl-walk-info { display: flex; flex-direction: column; gap: 2px; }
[id^="p-kl-"] .kl-walk-eyebrow {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); font-weight: 600;
}
[id^="p-kl-"] .kl-walk-title { color: var(--ac); font-weight: 600; font-size: 12.5px; }
[id^="p-kl-"] .kl-walk-nav { display: flex; gap: 6px; }
[id^="p-kl-"] .kl-walk-nav button {
  background: none; border: 1px solid rgba(255,255,255,.10);
  color: var(--tx2); padding: var(--space-1) 10px; border-radius: var(--radius-sm);
  font-size: 11px; cursor: pointer; font-family: inherit;
}
[id^="p-kl-"] .kl-walk-nav button:hover:not(:disabled) { border-color: var(--ac); color: var(--ac); }
[id^="p-kl-"] .kl-walk-nav button:disabled { opacity: .35; cursor: default; }

/* Frame */
[id^="p-kl-"] .kl-frame,
.kl-host .kl-frame {
  background: var(--sur); border-radius: 8px; padding: 28px var(--space-6);
  border: 1px solid rgba(255,255,255,.06);
}
[id^="p-kl-"] .kl-frame h1,
.kl-host .kl-frame h1 { font-size: 20px; margin: 0 0 6px 0; color: var(--tx); }
[id^="p-kl-"] .kl-frame h2,
.kl-host .kl-frame h2 { font-size: 15px; margin: 18px 0 var(--space-2) 0; color: var(--tx); }
[id^="p-kl-"] .kl-frame .kl-sub,
.kl-host .kl-frame .kl-sub { color: var(--tx3); font-size: 12.5px; margin: 0 0 18px 0; }

/* Form-Elemente */
[id^="p-kl-"] .kl-field,
.kl-host .kl-field { display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: 10px; }
[id^="p-kl-"] .kl-field label,
.kl-host .kl-field label {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--tx3); font-weight: 600;
}
[id^="p-kl-"] .kl-field input,
[id^="p-kl-"] .kl-field select,
[id^="p-kl-"] .kl-field textarea,
.kl-host .kl-field input,
.kl-host .kl-field select,
.kl-host .kl-field textarea {
  padding: var(--space-2) 10px; background: rgba(0,0,0,.2);
  border: 1px solid rgba(255,255,255,.10); border-radius: var(--radius-sm);
  color: var(--tx); font-family: inherit; font-size: 12.5px;
}
[id^="p-kl-"] .kl-field input:focus,
[id^="p-kl-"] .kl-field select:focus,
[id^="p-kl-"] .kl-field textarea:focus,
.kl-host .kl-field input:focus,
.kl-host .kl-field select:focus,
.kl-host .kl-field textarea:focus { outline: none; border-color: var(--ac); }

[id^="p-kl-"] .kl-form-2col,
.kl-host .kl-form-2col {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px;
}

[id^="p-kl-"] .kl-btn-primary,
.kl-host .kl-btn-primary {
  background: var(--ac); color: var(--bg); border: none;
  padding: 10px 22px; border-radius: 5px; font-size: 13px;
  font-weight: 600; cursor: pointer; font-family: inherit;
}
[id^="p-kl-"] .kl-btn-primary:hover,
.kl-host .kl-btn-primary:hover { filter: brightness(1.1); }
[id^="p-kl-"] .kl-btn-secondary,
.kl-host .kl-btn-secondary {
  background: none; border: 1px solid rgba(255,255,255,.14);
  color: var(--tx2); padding: 9px 18px; border-radius: 5px;
  font-size: 12.5px; cursor: pointer; font-family: inherit;
}

/* Check-Boxen (AGB) */
[id^="p-kl-"] .kl-check,
.kl-host .kl-check {
  display: flex; align-items: flex-start; gap: 10px;
  padding: var(--space-3); background: rgba(0,0,0,.2); border-radius: var(--radius-sm);
  margin-bottom: 10px; font-size: 12.5px; color: var(--tx2);
}
[id^="p-kl-"] .kl-check input[type=checkbox],
.kl-host .kl-check input[type=checkbox] { margin-top: 2px; }
[id^="p-kl-"] .kl-check a,
.kl-host .kl-check a { color: var(--ac); text-decoration: underline; }

/* Tabellen */
[id^="p-kl-"] .kl-table {
  width: 100%; border-collapse: collapse; font-size: 12px; margin-top: var(--space-2);
}
[id^="p-kl-"] .kl-table th {
  text-align: left; padding: var(--space-2) 10px; color: var(--tx3);
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  background: rgba(255,255,255,.04); font-weight: 500;
}
[id^="p-kl-"] .kl-table td {
  padding: 10px; border-bottom: 1px solid rgba(255,255,255,.04);
}

/* Käufer-Verifikations-Wizard · VARIANTE A · MINIMAL LINEAR (2026-05-30).
 * Single-Column Stripe-Vibe, 580px zentriert, Progress oben, Sticky-Actionbar unten.
 * Brand-Yellow #d5d960 chirurgisch dosiert (Eyebrow + Required + Primary + Focus + Active-Segment).
 * Klassen-Namespace: .kvw-a-* — JS-Hooks (Input-IDs) bleiben unverändert.
 *
 * Verwendet auf: p-kl-ver-konto, p-kl-ver-passwort, p-kl-ver-unternehmen,
 *                p-kl-ver-rechnung, p-kl-ver-agb, p-kl-ver-pruefen
 */

/* =========================================================
 * BODY-MODE — Sidebar/Topbar verstecken (Onboarding-Mode)
 * Wird via JS: document.body.classList.add('is-onboarding') gesetzt
 * ========================================================= */
body.is-onboarding .sidebar,
body.is-onboarding .topbar,
body.is-onboarding aside.sidebar,
body.is-onboarding header.topbar { display: none !important; }

body.is-onboarding .main-content,
body.is-onboarding main,
body.is-onboarding .app-main {
  margin-left: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

body.is-onboarding {
  background: #0a0e14 !important;
  color: #e8eaf0;
  min-height: 100vh;
  margin: 0;
}

/* Subtle radial-gradient als FIXED background (ruhig, nur Akzent oben rechts) */
body.is-onboarding::before {
  content: "";
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse 600px 400px at 80% 0%, rgba(213,217,96,.04), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* =========================================================
 * PAGE-WRAPPER — Full-Bleed, 580px Container zentriert
 * ========================================================= */
[id^="p-kl-ver-"] {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  padding: 80px 0 120px;
  background: transparent;
  color: #e8eaf0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[id^="p-kl-ver-"] .kvw-a-container {
  max-width: 580px;
  margin: 0 auto;
  padding: 0 24px;
}

/* =========================================================
 * PROGRESS-BAR — 1px Hairline + 2px aktives Segment + 6 Mono-Labels
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-progress {
  margin: 0 0 56px;
}

[id^="p-kl-ver-"] .kvw-a-progress-track {
  position: relative;
  width: 100%;
  height: 2px;
  background: rgba(255,255,255,.08);
  margin-bottom: 14px;
  overflow: visible;
}

/* Aktives Segment — width via inline style oder Step-Modifier (1..6 = 16.67%..100%) */
[id^="p-kl-ver-"] .kvw-a-progress-fill {
  position: absolute;
  top: 0; left: 0;
  height: 2px;
  background: #d5d960;
  transition: width .3s ease;
  width: 0%;
}
[id^="p-kl-ver-"] .kvw-a-progress[data-step="1"] .kvw-a-progress-fill { width: 16.667%; }
[id^="p-kl-ver-"] .kvw-a-progress[data-step="2"] .kvw-a-progress-fill { width: 33.333%; }
[id^="p-kl-ver-"] .kvw-a-progress[data-step="3"] .kvw-a-progress-fill { width: 50%; }
[id^="p-kl-ver-"] .kvw-a-progress[data-step="4"] .kvw-a-progress-fill { width: 66.667%; }
[id^="p-kl-ver-"] .kvw-a-progress[data-step="5"] .kvw-a-progress-fill { width: 83.333%; }
[id^="p-kl-ver-"] .kvw-a-progress[data-step="6"] .kvw-a-progress-fill { width: 100%; }

[id^="p-kl-ver-"] .kvw-a-progress-labels {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
}

[id^="p-kl-ver-"] .kvw-a-progress-label {
  font-family: 'DM Mono', 'SF Mono', Menlo, monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 500;
  color: rgba(139,153,184,.45);
  background: none;
  border: none;
  padding: 6px 2px 0;
  text-align: left;
  cursor: default;
  transition: color .15s;
  text-decoration: none;
  display: block;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[id^="p-kl-ver-"] .kvw-a-progress-label.is-done {
  color: rgba(232,234,240,.85);
  cursor: pointer;
}
[id^="p-kl-ver-"] .kvw-a-progress-label.is-done:hover { color: #d5d960; }

[id^="p-kl-ver-"] .kvw-a-progress-label.is-active {
  color: #e8eaf0;
  font-weight: 600;
  cursor: default;
}

/* future steps explizit nicht klickbar */
[id^="p-kl-ver-"] .kvw-a-progress-label.is-future {
  cursor: not-allowed;
  pointer-events: none;
}

/* =========================================================
 * HEAD — Eyebrow + H1 + Sub-Lead
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-head {
  margin: 0 0 56px;
}

[id^="p-kl-ver-"] .kvw-a-eyebrow {
  font-family: 'DM Mono', 'SF Mono', Menlo, monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 500;
  color: #d5d960;
  margin: 0 0 18px;
  line-height: 1;
}

[id^="p-kl-ver-"] .kvw-a-h1 {
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #e8eaf0;
  margin: 0 0 18px;
}

[id^="p-kl-ver-"] .kvw-a-lead {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(232,234,240,.62);
  max-width: 480px;
  margin: 0;
  font-weight: 400;
}

/* =========================================================
 * SECTION — Sub-Gruppen (Mono-Label + dünne Top-Linie)
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-section {
  margin: 48px 0 0;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.06);
}
[id^="p-kl-ver-"] .kvw-a-section:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}
[id^="p-kl-ver-"] .kvw-a-section-label {
  font-family: 'DM Mono', 'SF Mono', Menlo, monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  margin: 0 0 24px;
  line-height: 1;
}

/* =========================================================
 * FIELD — Label oben, Underline-Input, KEINE Card
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 24px;
}
[id^="p-kl-ver-"] .kvw-a-field:last-child { margin-bottom: 0; }

[id^="p-kl-ver-"] .kvw-a-field > label,
[id^="p-kl-ver-"] .kvw-a-label {
  font-family: 'DM Mono', 'SF Mono', Menlo, monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  line-height: 1.2;
  margin: 0;
}

[id^="p-kl-ver-"] .kvw-a-required {
  color: #d5d960;
  margin-left: 4px;
  font-weight: 500;
}

[id^="p-kl-ver-"] .kvw-a-field input,
[id^="p-kl-ver-"] .kvw-a-field select,
[id^="p-kl-ver-"] .kvw-a-field textarea,
[id^="p-kl-ver-"] .kvw-a-input,
[id^="p-kl-ver-"] .kvw-a-select,
[id^="p-kl-ver-"] .kvw-a-textarea {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding: 8px 0;
  color: #e8eaf0;
  font-family: 'Inter', sans-serif;
  font-size: 17px;
  font-weight: 400;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color .18s;
  box-shadow: none;
}
[id^="p-kl-ver-"] .kvw-a-field textarea,
[id^="p-kl-ver-"] .kvw-a-textarea {
  min-height: 80px;
  resize: vertical;
  line-height: 1.5;
}
[id^="p-kl-ver-"] .kvw-a-field select,
[id^="p-kl-ver-"] .kvw-a-select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%238b99b8' d='M1 1l5 5 5-5'/></svg>");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-right: 24px;
}
[id^="p-kl-ver-"] .kvw-a-field select option,
[id^="p-kl-ver-"] .kvw-a-select option {
  background: #0a0e14;
  color: #e8eaf0;
}

[id^="p-kl-ver-"] .kvw-a-field input:focus,
[id^="p-kl-ver-"] .kvw-a-field select:focus,
[id^="p-kl-ver-"] .kvw-a-field textarea:focus,
[id^="p-kl-ver-"] .kvw-a-input:focus,
[id^="p-kl-ver-"] .kvw-a-select:focus,
[id^="p-kl-ver-"] .kvw-a-textarea:focus {
  border-bottom-color: #d5d960;
  outline: none;
  box-shadow: none;
}

[id^="p-kl-ver-"] .kvw-a-field input::placeholder,
[id^="p-kl-ver-"] .kvw-a-field textarea::placeholder,
[id^="p-kl-ver-"] .kvw-a-input::placeholder,
[id^="p-kl-ver-"] .kvw-a-textarea::placeholder {
  color: rgba(255,255,255,.30);
  font-weight: 400;
}

/* Autofill — Browser-Gelb killen */
[id^="p-kl-ver-"] .kvw-a-field input:-webkit-autofill,
[id^="p-kl-ver-"] .kvw-a-input:-webkit-autofill {
  -webkit-text-fill-color: #e8eaf0;
  -webkit-box-shadow: 0 0 0 1000px #0a0e14 inset;
  caret-color: #e8eaf0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

[id^="p-kl-ver-"] .kvw-a-hint {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.40);
  margin-top: 4px;
  line-height: 1.4;
}

[id^="p-kl-ver-"] .kvw-a-error {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #ff7a7a;
  margin-top: 4px;
  line-height: 1.4;
}

/* =========================================================
 * 2-COL GRID (PLZ + Stadt etc.)
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-2col {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  margin-bottom: 24px;
}
[id^="p-kl-ver-"] .kvw-a-2col .kvw-a-field { margin-bottom: 0; }

/* Variante 1:1 für gleiche Spalten (z.B. Vorname/Nachname) */
[id^="p-kl-ver-"] .kvw-a-2col.is-equal {
  grid-template-columns: 1fr 1fr;
}

/* =========================================================
 * CHECKBOX (AGB) — 18px Box, gefüllt #d5d960 wenn checked
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-check {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 0;
  margin-bottom: 18px;
  cursor: pointer;
  background: none;
  border: none;
}

[id^="p-kl-ver-"] .kvw-a-check input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 2px 0 0;
  background: transparent;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  transition: background .15s, border-color .15s;
}
[id^="p-kl-ver-"] .kvw-a-check input[type="checkbox"]:hover {
  border-color: rgba(255,255,255,.40);
}
[id^="p-kl-ver-"] .kvw-a-check input[type="checkbox"]:checked {
  background: #d5d960;
  border-color: #d5d960;
}
[id^="p-kl-ver-"] .kvw-a-check input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #0a0e14;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
[id^="p-kl-ver-"] .kvw-a-check input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(213,217,96,.40);
  outline-offset: 2px;
}

[id^="p-kl-ver-"] .kvw-a-check-label {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(232,234,240,.85);
  font-weight: 400;
}
[id^="p-kl-ver-"] .kvw-a-check-label a {
  color: #d5d960;
  text-decoration: underline;
  text-underline-offset: 2px;
}
[id^="p-kl-ver-"] .kvw-a-check-label a:hover { filter: brightness(1.1); }

/* =========================================================
 * REVIEW-BLOCK (für Step "prüfen") — Mono-Tabelle mit Edit-Link
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-review {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
[id^="p-kl-ver-"] .kvw-a-review:last-of-type { border-bottom: none; }

[id^="p-kl-ver-"] .kvw-a-review-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 14px;
}
[id^="p-kl-ver-"] .kvw-a-review-title {
  font-family: 'DM Mono', 'SF Mono', Menlo, monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  margin: 0;
}
[id^="p-kl-ver-"] .kvw-a-review-edit {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.55);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
[id^="p-kl-ver-"] .kvw-a-review-edit:hover { color: #d5d960; }

[id^="p-kl-ver-"] .kvw-a-review-line {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 4px;
  color: #e8eaf0;
}
[id^="p-kl-ver-"] .kvw-a-review-line dt,
[id^="p-kl-ver-"] .kvw-a-review-line .kvw-a-review-key {
  color: rgba(255,255,255,.45);
  font-weight: 400;
  margin: 0;
}
[id^="p-kl-ver-"] .kvw-a-review-line dd,
[id^="p-kl-ver-"] .kvw-a-review-line .kvw-a-review-val {
  margin: 0;
  color: #e8eaf0;
  font-weight: 400;
  word-break: break-word;
}

/* =========================================================
 * STATUS-HINWEISE (Success / Info / Error)
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-status {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  line-height: 1.5;
  padding: 14px 16px;
  border-radius: 6px;
  margin-bottom: 24px;
  border: 1px solid transparent;
}
[id^="p-kl-ver-"] .kvw-a-status.is-success {
  background: rgba(213,217,96,.06);
  border-color: rgba(213,217,96,.20);
  color: #d5d960;
}
[id^="p-kl-ver-"] .kvw-a-status.is-info {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.08);
  color: rgba(232,234,240,.72);
}
[id^="p-kl-ver-"] .kvw-a-status.is-error {
  background: rgba(255,122,122,.06);
  border-color: rgba(255,122,122,.25);
  color: #ff7a7a;
}

/* =========================================================
 * CODE-EINGABE (E-Mail-OTP, 6 Boxen)
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-code-row {
  display: flex;
  gap: 10px;
  margin: 8px 0 4px;
  max-width: 360px;
}
[id^="p-kl-ver-"] .kvw-a-code-row input {
  flex: 1;
  width: 48px;
  height: 56px;
  text-align: center;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: #e8eaf0;
  font-family: 'DM Mono', 'SF Mono', Menlo, monospace;
  font-size: 24px;
  font-weight: 500;
  padding: 0;
  outline: none;
  transition: border-color .18s;
}
[id^="p-kl-ver-"] .kvw-a-code-row input:focus { border-bottom-color: #d5d960; }

/* =========================================================
 * ACTION-BAR — sticky bottom, 72px, max-width 580px Inner
 * ========================================================= */
[id^="p-kl-ver-"] .kvw-a-actionbar,
.kvw-a-actionbar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 72px;
  background: rgba(10,14,20,.72);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255,255,255,.06);
  z-index: 50;
}

[id^="p-kl-ver-"] .kvw-a-actionbar-inner,
.kvw-a-actionbar-inner {
  max-width: 580px;
  height: 100%;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

[id^="p-kl-ver-"] .kvw-a-actionbar-left,
[id^="p-kl-ver-"] .kvw-a-actionbar-right,
.kvw-a-actionbar-left,
.kvw-a-actionbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Zurück — Text-Link */
[id^="p-kl-ver-"] .kvw-a-btn-back,
.kvw-a-btn-back {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.55);
  background: none;
  border: none;
  padding: 8px 4px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color .15s;
}
[id^="p-kl-ver-"] .kvw-a-btn-back:hover,
.kvw-a-btn-back:hover { color: #d5d960; }
[id^="p-kl-ver-"] .kvw-a-btn-back.is-hidden,
.kvw-a-btn-back.is-hidden { visibility: hidden; }

/* Primary Weiter — Brand-Gelb */
[id^="p-kl-ver-"] .kvw-a-btn-primary,
.kvw-a-btn-primary {
  font-family: 'Inter', sans-serif;
  background: #d5d960;
  color: #0a0e14;
  padding: 12px 28px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: filter .15s, box-shadow .15s, opacity .15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
}
[id^="p-kl-ver-"] .kvw-a-btn-primary:hover:not(:disabled),
.kvw-a-btn-primary:hover:not(:disabled) {
  filter: brightness(1.05);
  box-shadow: 0 8px 32px rgba(213,217,96,.30);
}
[id^="p-kl-ver-"] .kvw-a-btn-primary:disabled,
.kvw-a-btn-primary:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  box-shadow: none;
}
[id^="p-kl-ver-"] .kvw-a-btn-primary:focus-visible,
.kvw-a-btn-primary:focus-visible {
  outline: 2px solid rgba(213,217,96,.50);
  outline-offset: 2px;
}

/* Skip-Link (z.B. "Code nicht erhalten?") — dezent */
[id^="p-kl-ver-"] .kvw-a-link,
.kvw-a-link {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,.45);
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  padding: 4px 0;
}
[id^="p-kl-ver-"] .kvw-a-link:hover,
.kvw-a-link:hover { color: #d5d960; }

/* =========================================================
 * RESPONSIVE — <640px
 * ========================================================= */
@media (max-width: 640px) {
  [id^="p-kl-ver-"] {
    padding: 48px 0 100px;
  }
  [id^="p-kl-ver-"] .kvw-a-container {
    padding: 0 16px;
    max-width: 100%;
  }
  [id^="p-kl-ver-"] .kvw-a-progress { margin-bottom: 40px; }
  [id^="p-kl-ver-"] .kvw-a-progress-label {
    font-size: 9px;
    letter-spacing: 0.10em;
  }
  [id^="p-kl-ver-"] .kvw-a-head { margin-bottom: 40px; }
  [id^="p-kl-ver-"] .kvw-a-eyebrow {
    font-size: 10px;
    letter-spacing: 0.14em;
    margin-bottom: 14px;
  }
  [id^="p-kl-ver-"] .kvw-a-h1 {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 14px;
  }
  [id^="p-kl-ver-"] .kvw-a-lead {
    font-size: 14px;
  }
  [id^="p-kl-ver-"] .kvw-a-field input,
  [id^="p-kl-ver-"] .kvw-a-field select,
  [id^="p-kl-ver-"] .kvw-a-field textarea,
  [id^="p-kl-ver-"] .kvw-a-input,
  [id^="p-kl-ver-"] .kvw-a-select,
  [id^="p-kl-ver-"] .kvw-a-textarea {
    font-size: 16px; /* iOS Zoom-Schutz */
  }
  [id^="p-kl-ver-"] .kvw-a-2col {
    grid-template-columns: 80px 1fr;
    gap: 12px;
  }
  [id^="p-kl-ver-"] .kvw-a-2col.is-equal {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  [id^="p-kl-ver-"] .kvw-a-review-line {
    grid-template-columns: 1fr;
    gap: 2px;
    margin-bottom: 12px;
  }
  [id^="p-kl-ver-"] .kvw-a-actionbar-inner,
  .kvw-a-actionbar-inner {
    padding: 0 16px;
  }
  [id^="p-kl-ver-"] .kvw-a-btn-primary,
  .kvw-a-btn-primary {
    padding: 11px 20px;
    font-size: 13px;
  }
  [id^="p-kl-ver-"] .kvw-a-section {
    margin-top: 36px;
    padding-top: 20px;
  }
}

/* =========================================================
 * REDUCED-MOTION — Transitions weg
 * ========================================================= */
@media (prefers-reduced-motion: reduce) {
  [id^="p-kl-ver-"] *,
  [id^="p-kl-ver-"] *::before,
  [id^="p-kl-ver-"] *::after {
    transition: none !important;
    animation: none !important;
  }
}

/* Käufer-Verifikation · Step 0 · Welcome (2026-05-30 v3)
   Standalone Page — Sidebar/Topbar via body.is-onboarding ausgeblendet.
   v3: Aggressive Vertical-Kompression für 720px-Laptops (kein Scroll). */

/* ── Onboarding-Mode: alles ausser kl-ver-* Pages verstecken ── */
body.is-onboarding .sb,
body.is-onboarding .sidebar,
body.is-onboarding .sb-collapse-btn,
body.is-onboarding .topbar { display: none !important; }
/* Sidebar-Platzhalter in der .main wegnehmen — sonst hängt die Welcome-
   Page um die Sidebar-Breite (var(--sw), ~240px) nach rechts versetzt. */
body.is-onboarding .main {
  margin-left: 0 !important;
  width: 100% !important;
}
body.is-onboarding .page:not([id^="p-kl-ver-"]) { display: none !important; }
/* WICHTIG: nur die AKTIVE Wizard-Page zeigen — sonst stapeln sich alle 6
   Pages untereinander und der Scroll-Bug zeigt die nächste Step-Page direkt
   unter der Welcome. */
body.is-onboarding [id^="p-kl-ver-"]:not(.active) { display: none !important; }
body.is-onboarding [id^="p-kl-ver-"].active {
  display: block !important;
  min-height: 100vh;
  width: 100%;
}

/* Body-Lock raus: war ein Welcome-spezifischer 1-Screen-Hack der die
   Wizard-Steps (3-6) am Scrollen gehindert hat. Welcome-Page selbst hat
   schon #p-kl-ver-welcome{ overflow:hidden; height:100vh } weiter unten. */

/* ── Welcome-Page ──────────────────────────────────────────── */
#p-kl-ver-welcome {
  position: relative;
  background: #0a0e14;
  color: #e8eaed;
  font-family: 'Inter', sans-serif;
  overflow: hidden;
  height: 100vh;
  max-height: 100vh;
}

/* Hintergrund-Akzent: subtiler radialer Gradient links oben + rechts unten */
#p-kl-ver-welcome .kvw-welcome-bg {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 800px 500px at 15% 0%, rgba(180, 140, 30, 0.10), transparent 60%),
    radial-gradient(ellipse 700px 400px at 85% 100%, rgba(74, 222, 128, 0.06), transparent 65%);
}

/* Inhalt zentriert, max-width für Lesbarkeit. Komplett auf einen Bildschirm.
   Grid statt Flex-Column für besseren Vertical-Fit ohne overflow. */
#p-kl-ver-welcome .kvw-welcome-shell {
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 16px 24px;
  text-align: center;
  height: 100vh;
  max-height: 100vh;
  display: grid;
  grid-template-rows: auto auto auto auto auto auto;
  align-content: space-between;
  gap: 10px;
  box-sizing: border-box;
}

/* ── Brand-Row oben ────────────────────────────────────────── */
#p-kl-ver-welcome .kvw-welcome-brand-row {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 5px 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.02);
  align-self: center;
  justify-self: center;
}
#p-kl-ver-welcome .kvw-welcome-brand-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #d5d960;
  box-shadow: 0 0 12px rgba(213,217,96,.6);
}
#p-kl-ver-welcome .kvw-welcome-brand-name {
  color: #f1f5f9; font-weight: 500;
}
#p-kl-ver-welcome .kvw-welcome-brand-sep { color: rgba(255,255,255,.25); }
#p-kl-ver-welcome .kvw-welcome-brand-sub {
  font-family: 'DM Mono', monospace; font-size: 10.5px;
  text-transform: uppercase; letter-spacing: 0.12em;
}

/* ── Hero ──────────────────────────────────────────────────── */
#p-kl-ver-welcome .kvw-welcome-hero { margin: 0; }
#p-kl-ver-welcome .kvw-welcome-eyebrow {
  font-family: 'DM Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  color: #d5d960;
  text-transform: uppercase;
  margin-bottom: 6px;
}
#p-kl-ver-welcome .kvw-welcome-h1 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.035em;
  margin: 0 0 8px;
  color: #f8fafc;
}
#p-kl-ver-welcome .kvw-welcome-h1-accent {
  background: linear-gradient(135deg, #d5d960 0%, #d5d960 50%, #d5d960 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#p-kl-ver-welcome .kvw-welcome-lead {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,.72);
  max-width: 720px;
  margin: 0 auto;
  font-weight: 400;
}
/* Personalisierungs-Pill — wird gefüllt aus /verify-magic */
#p-kl-ver-welcome .kvw-welcome-personal {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  border: 1px solid rgba(213,217,96,.30);
  border-radius: 999px;
  background: rgba(213,217,96,.08);
  font-size: 11.5px;
  color: rgba(255,255,255,.75);
  margin-top: 8px;
}
#p-kl-ver-welcome .kvw-welcome-personal-tag {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #d5d960;
  font-weight: 600;
}
#p-kl-ver-welcome .kvw-welcome-personal-firma {
  color: #f8fafc;
  font-weight: 500;
}
#p-kl-ver-welcome .kvw-welcome-personal-sep {
  color: rgba(255,255,255,.25);
}
#p-kl-ver-welcome .kvw-welcome-personal-mail {
  font-family: 'DM Mono', monospace;
  font-size: 11px;
  color: rgba(255,255,255,.55);
}

/* ── 3-Card-Grid ───────────────────────────────────────────── */
#p-kl-ver-welcome .kvw-welcome-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0;
  text-align: left;
}
#p-kl-ver-welcome .kvw-welcome-card {
  position: relative;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color .2s, transform .2s, background .2s;
}
#p-kl-ver-welcome .kvw-welcome-card:hover {
  border-color: rgba(213,217,96,.40);
  background: rgba(255,255,255,.04);
  transform: translateY(-2px);
}
#p-kl-ver-welcome .kvw-welcome-card-num {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: rgba(255,255,255,.30);
  margin-bottom: 1px;
}
#p-kl-ver-welcome .kvw-welcome-card-tag {
  font-family: 'DM Mono', monospace;
  font-size: 9.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #d5d960;
  font-weight: 500;
}
#p-kl-ver-welcome .kvw-welcome-card h3 {
  margin: 1px 0 2px;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: #f8fafc;
}
#p-kl-ver-welcome .kvw-welcome-card p {
  margin: 0;
  font-size: 11.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.65);
}

/* ── Steps-Übersicht ───────────────────────────────────────── */
/* Steps-Übersicht: keine Box-Outline mehr, dafür ein dünner Strich der durch
   alle 6 Step-Kreise zieht (Connector-Line). User-Wunsch 2026-05-30. */
#p-kl-ver-welcome .kvw-welcome-steps {
  border: 0;
  border-radius: 0;
  padding: 16px 0 12px;
  margin: 0;
  background: transparent;
}
#p-kl-ver-welcome .kvw-welcome-steps-h {
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: rgba(255,255,255,.40);
  margin-bottom: 14px;
  letter-spacing: 0.04em;
  text-align: center;
}
#p-kl-ver-welcome .kvw-welcome-steps-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
  max-width: 920px;
  margin: 0 auto;
}
/* Connector-Strich der HINTER allen 6 Kreisen durchläuft */
#p-kl-ver-welcome .kvw-welcome-steps-list::before {
  content: '';
  position: absolute;
  left: 24px;
  right: 24px;
  top: 9px;
  height: 1px;
  background: rgba(255,255,255,.10);
  z-index: 0;
}
#p-kl-ver-welcome .kvw-welcome-steps-list li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
  z-index: 1;
  background: #0a0e14;
  padding: 0 6px;
}
#p-kl-ver-welcome .kvw-welcome-steps-n {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(213,217,96,.10);
  border: 1px solid rgba(213,217,96,.30);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Mono', monospace;
  font-size: 10px;
  color: #d5d960;
  font-weight: 600;
  flex-shrink: 0;
}
#p-kl-ver-welcome .kvw-welcome-steps-l {
  font-size: 11.5px;
  color: rgba(255,255,255,.7);
  line-height: 1;
  white-space: nowrap;
}

/* ── CTA ───────────────────────────────────────────────────── */
#p-kl-ver-welcome .kvw-welcome-cta {
  margin: 0;
}
#p-kl-ver-welcome .kvw-welcome-btn {
  background: linear-gradient(135deg, #d5d960 0%, #d5d960 100%);
  color: #0a0e14;
  border: 0;
  padding: 12px 28px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  letter-spacing: 0.01em;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform .15s, box-shadow .2s, filter .15s;
  box-shadow: 0 8px 32px rgba(213,217,96,.30), 0 0 0 1px rgba(255,255,255,.08) inset;
  min-height: 44px;
  box-sizing: border-box;
}
#p-kl-ver-welcome .kvw-welcome-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(213,217,96,.45), 0 0 0 1px rgba(255,255,255,.12) inset;
  filter: brightness(1.05);
}
#p-kl-ver-welcome .kvw-welcome-btn-arrow {
  transition: transform .2s;
  font-weight: 600;
}
#p-kl-ver-welcome .kvw-welcome-btn:hover .kvw-welcome-btn-arrow {
  transform: translateX(4px);
}
#p-kl-ver-welcome .kvw-welcome-cta-hint {
  margin: 6px 0 0;
  font-size: 11px;
  color: rgba(255,255,255,.45);
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
/* Mail-Zeile direkt unter dem CTA-Hint, noch eine Spur kleiner damit
   alles auf 1 Screen passt (kein separater Footer mehr). */
#p-kl-ver-welcome .kvw-welcome-cta-hint-mail {
  font-size: 10.5px;
  color: rgba(255,255,255,.35);
}
#p-kl-ver-welcome .kvw-welcome-cta-hint-mail a {
  color: #d5d960;
  text-decoration: none;
  font-weight: 500;
}
#p-kl-ver-welcome .kvw-welcome-cta-hint-mail a:hover { text-decoration: underline; }

/* ── Mid-Height: 720px-Laptops (Default-Target) — noch aggressiver ── */
@media (max-height: 760px) {
  #p-kl-ver-welcome .kvw-welcome-shell {
    padding: 10px 24px;
    gap: 6px;
  }
  #p-kl-ver-welcome .kvw-welcome-brand-row {
    padding: 4px 12px;
    font-size: 10.5px;
  }
  #p-kl-ver-welcome .kvw-welcome-eyebrow {
    font-size: 10px;
    margin-bottom: 4px;
  }
  #p-kl-ver-welcome .kvw-welcome-h1 {
    font-size: 34px;
    line-height: 1.02;
    margin: 0 0 6px;
  }
  #p-kl-ver-welcome .kvw-welcome-lead {
    font-size: 13px;
    line-height: 1.45;
  }
  #p-kl-ver-welcome .kvw-welcome-personal {
    margin-top: 6px;
    padding: 4px 12px;
    font-size: 11px;
  }
  #p-kl-ver-welcome .kvw-welcome-grid {
    gap: 8px;
  }
  #p-kl-ver-welcome .kvw-welcome-card {
    padding: 10px 12px;
    gap: 3px;
  }
  #p-kl-ver-welcome .kvw-welcome-card h3 {
    font-size: 13.5px;
    margin: 1px 0 2px;
  }
  #p-kl-ver-welcome .kvw-welcome-card p {
    font-size: 11px;
    line-height: 1.4;
  }
  #p-kl-ver-welcome .kvw-welcome-steps {
    padding: 5px 10px;
  }
  #p-kl-ver-welcome .kvw-welcome-steps-h {
    margin-bottom: 3px;
  }
  #p-kl-ver-welcome .kvw-welcome-steps-list {
    gap: 4px 12px;
  }
  #p-kl-ver-welcome .kvw-welcome-steps-l {
    font-size: 11px;
  }
  #p-kl-ver-welcome .kvw-welcome-btn {
    padding: 10px 26px;
    font-size: 13.5px;
    min-height: 40px;
  }
  #p-kl-ver-welcome .kvw-welcome-cta-hint {
    margin-top: 4px;
    font-size: 10.5px;
    line-height: 1.35;
  }
    font-size: 10.5px;
  }
}

/* ── Tall-Screens (Desktop / FullHD+) — Original-Großzügigkeit ── */
@media (min-height: 900px) {
  #p-kl-ver-welcome .kvw-welcome-shell {
    padding: 24px 32px;
    gap: 16px;
  }
  #p-kl-ver-welcome .kvw-welcome-eyebrow {
    margin-bottom: 10px;
  }
  #p-kl-ver-welcome .kvw-welcome-h1 {
    font-size: 52px;
    line-height: 1.03;
    margin: 0 0 14px;
  }
  #p-kl-ver-welcome .kvw-welcome-lead {
    font-size: 15px;
    line-height: 1.55;
  }
  #p-kl-ver-welcome .kvw-welcome-personal {
    margin-top: 16px;
  }
  #p-kl-ver-welcome .kvw-welcome-grid {
    gap: 12px;
  }
  #p-kl-ver-welcome .kvw-welcome-card {
    padding: 16px 18px;
    gap: 6px;
  }
  #p-kl-ver-welcome .kvw-welcome-card h3 {
    font-size: 16px;
  }
  #p-kl-ver-welcome .kvw-welcome-card p {
    font-size: 12.5px;
    line-height: 1.5;
  }
  #p-kl-ver-welcome .kvw-welcome-steps {
    padding: 10px 16px;
  }
  #p-kl-ver-welcome .kvw-welcome-steps-list {
    gap: 8px 18px;
  }
  #p-kl-ver-welcome .kvw-welcome-steps-n {
    width: 20px;
    height: 20px;
    font-size: 10.5px;
  }
  #p-kl-ver-welcome .kvw-welcome-steps-l {
    font-size: 12px;
  }
  #p-kl-ver-welcome .kvw-welcome-btn {
    padding: 14px 36px;
    font-size: 15px;
  }
  #p-kl-ver-welcome .kvw-welcome-cta-hint {
    margin-top: 10px;
    font-size: 11.5px;
    line-height: 1.5;
  }
}

/* ── Responsive: bei < 880px Grid auf 1 Spalte ─────────────── */
@media (max-width: 880px) {
  /* Bei schmalen Screens darf Body wieder scrollen — 1-Spalten-Stack
     ist sonst nicht erreichbar. */
  body.is-onboarding { overflow: auto; }
  #p-kl-ver-welcome,
  #p-kl-ver-welcome .kvw-welcome-shell {
    height: auto;
    max-height: none;
    overflow: visible;
  }
  #p-kl-ver-welcome .kvw-welcome-shell {
    padding: 20px 20px 32px;
    gap: 14px;
  }
  #p-kl-ver-welcome .kvw-welcome-h1 { font-size: 36px; }
  #p-kl-ver-welcome .kvw-welcome-lead { font-size: 14px; }
  #p-kl-ver-welcome .kvw-welcome-grid { grid-template-columns: 1fr; }
  #p-kl-ver-welcome .kvw-welcome-steps-list {
    grid-template-columns: repeat(3, 1fr);
  }
  #p-kl-ver-welcome .kvw-welcome-brand-row { margin-bottom: 0; }
  #p-kl-ver-welcome .kvw-welcome-hero { margin-bottom: 0; }
}

/* ── Light-Mode-Fallback (falls Theme-Switcher angepasst) ──── */
body.theme-light #p-kl-ver-welcome {
  background: #f5f7f9;
  color: #1a2030;
}
body.theme-light #p-kl-ver-welcome .kvw-welcome-h1 { color: #1a2030; }
body.theme-light #p-kl-ver-welcome .kvw-welcome-lead { color: rgba(0,0,0,.62); }
body.theme-light #p-kl-ver-welcome .kvw-welcome-card { background: #fff; border-color: rgba(0,0,0,.06); }
body.theme-light #p-kl-ver-welcome .kvw-welcome-card h3 { color: #1a2030; }
body.theme-light #p-kl-ver-welcome .kvw-welcome-card p { color: rgba(0,0,0,.65); }
body.theme-light #p-kl-ver-welcome .kvw-welcome-brand-row { background: #fff; border-color: rgba(0,0,0,.08); color: rgba(0,0,0,.5); }
body.theme-light #p-kl-ver-welcome .kvw-welcome-brand-name { color: #1a2030; }
body.theme-light #p-kl-ver-welcome .kvw-welcome-steps { background: #fff; border-color: rgba(0,0,0,.06); }
body.theme-light #p-kl-ver-welcome .kvw-welcome-steps-h { color: rgba(0,0,0,.55); }
body.theme-light #p-kl-ver-welcome .kvw-welcome-steps-l { color: rgba(0,0,0,.65); }
/* 2026-05-31: li hatte hardcoded dark bg (#0a0e14) — überdeckt die Schritt-Labels
   im Light-Mode, weil li hinter dem connector-Strich auf weiß gesetzt werden
   muss damit die Linie nicht durch die Texte läuft. */
body.theme-light #p-kl-ver-welcome .kvw-welcome-steps-list li { background: #fff; }
body.theme-light #p-kl-ver-welcome .kvw-welcome-steps-list::before { background: rgba(0,0,0,.10); }
body.theme-light #p-kl-ver-welcome .kvw-welcome-steps-n {
  background: rgba(213,217,96,.18);
  border-color: rgba(213,217,96,.55);
  color: #5b6300;
}
/* Akzent-Texte (Eyebrow, CTA-Hint-Mail) im Light-Mode dunkler tonen — Olive
   ist auf weißem BG zu hell, User-Feedback 2026-05-31. */
body.theme-light #p-kl-ver-welcome .kvw-welcome-eyebrow,
body.theme-light #p-kl-ver-welcome .kvw-welcome-personal-tag,
body.theme-light #p-kl-ver-welcome .kvw-welcome-personal-firma,
body.theme-light #p-kl-ver-welcome .kvw-welcome-cta-hint-mail,
body.theme-light #p-kl-ver-welcome .kvw-welcome-cta-hint-mail a {
  color: #5b6300 !important;
}
body.theme-light #p-kl-ver-welcome .kvw-welcome-personal-mail {
  color: #4a5200 !important;
}
body.theme-light #p-kl-ver-welcome .kvw-welcome-cta-hint {
  color: rgba(0,0,0,.55) !important;
}
/* Card-Eyebrows (WAS DU BEKOMMST / WIE ES LÄUFT / WER WIR SIND) im Light */
body.theme-light #p-kl-ver-welcome .kvw-welcome-card-tag {
  color: #5b6300 !important;
}

/* Admin · Käufer-Verifikationen (2026-05-30) */
#p-verifikation-admin { padding: 18px 22px; color: var(--tx); }

#p-verifikation-admin .va-status {
  display: inline-block; padding: 2px 8px; border-radius: var(--radius-pill);
  font-size: 10.5px; font-weight: 500; letter-spacing: .02em;
}
#p-verifikation-admin .va-status-submitted { background: rgba(217,119,6,.10); color: #b45309; }
#p-verifikation-admin .va-status-approved  { background: rgba(34,197,94,.10);  color: #15803d; }
#p-verifikation-admin .va-status-rejected  { background: rgba(239,68,68,.10);  color: #b91c1c; }

#p-verifikation-admin .va-btn {
  padding: 4px 10px; border-radius: var(--radius-sm);
  font-size: 11.5px; font-weight: 500; cursor: pointer;
  border: 1px solid var(--bd); background: var(--sur); color: var(--tx);
  font-family: inherit;
}
#p-verifikation-admin .va-btn:hover { border-color: var(--ac); }
#p-verifikation-admin .va-btn-ok   { background: rgba(34,197,94,.08); border-color: rgba(34,197,94,.30); color: #15803d; }
#p-verifikation-admin .va-btn-nope { background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.30); color: #b91c1c; }

/* Termine bestellen (kl-bestellen) — Käufer-Walk-Through Schritt 5.
 * Rebuild 2026-05-27: Größenklassen + sauberes Layout. */

#p-kl-bestellen .kl-be-head {
  margin-bottom: var(--space-5);
}
#p-kl-bestellen .kl-be-head h1 {
  margin: 0 0 6px 0;
  font-size: 24px;
}
#p-kl-bestellen .kl-be-sub {
  margin: 0;
  color: var(--mut);
  font-size: 14px;
}

#p-kl-bestellen .kl-be-grid {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 28px;
  align-items: start;
}
@media (max-width: 900px) {
  #p-kl-bestellen .kl-be-grid { grid-template-columns: 1fr; }
}

/* ── Form-Sektionen links ── */
#p-kl-bestellen .kl-be-form { display: flex; flex-direction: column; gap: var(--space-5); }
#p-kl-bestellen .kl-be-section { padding-bottom: 20px; border-bottom: 1px solid rgba(0,0,0,0.06); }
#p-kl-bestellen .kl-be-section:last-child { border-bottom: none; padding-bottom: 0; }
#p-kl-bestellen .kl-be-sectionh {
  margin: 0 0 var(--space-1) 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--fg);
}
#p-kl-bestellen .kl-be-sectionhint {
  margin: 0 0 14px 0;
  color: var(--mut);
  font-size: 13px;
  line-height: 1.5;
}
#p-kl-bestellen .kl-be-optional {
  font-size: 11px;
  font-weight: 500;
  color: var(--mut);
  text-transform: none;
  letter-spacing: 0;
  margin-left: 6px;
}

/* ── Klassen-Karten ── */
#p-kl-bestellen .kl-be-classes {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media (max-width: 640px) { #p-kl-bestellen .kl-be-classes { grid-template-columns: repeat(2, 1fr); } }

#p-kl-bestellen .kl-be-class {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 14px var(--space-3);
  background: rgba(0,0,0,0.02);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
  text-align: left;
}
#p-kl-bestellen .kl-be-class:hover {
  border-color: var(--ac);
  background: rgba(122,141,49,0.04);
}
#p-kl-bestellen .kl-be-class-active {
  border-color: var(--ac);
  background: rgba(122,141,49,0.08);
  box-shadow: 0 0 0 2px rgba(122,141,49,0.15);
}
#p-kl-bestellen .kl-be-class-code {
  font-size: 18px;
  font-weight: 700;
  color: var(--ac);
}
#p-kl-bestellen .kl-be-class-range {
  font-size: 12px;
  color: var(--mut);
}
#p-kl-bestellen .kl-be-class-price {
  font-size: 15px;
  font-weight: 600;
  color: var(--fg);
}

/* ── Form-Rows ── */
#p-kl-bestellen .kl-be-row2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 540px) { #p-kl-bestellen .kl-be-row2 { grid-template-columns: 1fr; } }

#p-kl-bestellen .kl-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
#p-kl-bestellen .kl-field label {
  font-size: 12px;
  font-weight: 500;
  color: var(--mut);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
#p-kl-bestellen .kl-field-hint {
  margin: 0;
  font-size: 11px;
  color: var(--mut);
}

#p-kl-bestellen .kl-be-details {
  margin-top: 14px;
}
#p-kl-bestellen .kl-be-details > summary {
  cursor: pointer;
  font-size: 13px;
  color: var(--ac);
  padding: var(--space-1) 0;
}

#p-kl-bestellen .kl-be-meta {
  margin: var(--space-1) 0 0 0;
  font-size: 12px;
  color: var(--mut);
  font-style: italic;
}

#p-kl-bestellen .kl-be-checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: var(--fg);
  cursor: pointer;
  padding: 6px 0;
}
#p-kl-bestellen .kl-be-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
}
#p-kl-bestellen .kl-be-checkbox span {
  flex: 1;
}

/* ── Preis-Box rechts (sticky) ── */
#p-kl-bestellen .kl-be-price {
  position: sticky;
  top: 24px;
  padding: 22px 22px 18px;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--radius-lg);
}
#p-kl-bestellen .kl-be-price-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-4);
}
#p-kl-bestellen .kl-be-exclusive {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ac);
}
#p-kl-bestellen .kl-be-class-tag {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 9px;
  background: rgba(122,141,49,0.12);
  color: var(--ac);
  border-radius: 12px;
}

#p-kl-bestellen .kl-be-price-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mut);
  margin-bottom: var(--space-1);
}
#p-kl-bestellen .kl-be-price-big {
  font-size: 32px;
  font-weight: 700;
  color: var(--fg);
  line-height: 1.1;
}
#p-kl-bestellen .kl-be-price-sub {
  font-size: 12px;
  color: var(--mut);
  margin-bottom: var(--space-4);
}

#p-kl-bestellen .kl-be-savings {
  padding: 10px var(--space-3);
  background: rgba(122,141,49,0.08);
  border-left: 3px solid var(--ac);
  border-radius: var(--radius-sm);
  font-size: 12px;
  color: var(--fg);
  margin-bottom: var(--space-4);
}
#p-kl-bestellen .kl-be-savings-text { font-weight: 500; }

#p-kl-bestellen .kl-be-staffel { margin-bottom: var(--space-4); }
#p-kl-bestellen .kl-be-staffel-h {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mut);
  margin-bottom: 6px;
}
#p-kl-bestellen .kl-be-staffel-row {
  display: flex;
  gap: 6px;
}
#p-kl-bestellen .kl-be-staffel-stufe {
  flex: 1;
  text-align: center;
  padding: 6px var(--space-1);
  font-size: 11px;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: var(--radius-sm);
  color: var(--mut);
}
#p-kl-bestellen .kl-be-staffel-stufe em {
  font-style: normal;
  font-weight: 600;
  color: var(--ac);
}
#p-kl-bestellen .kl-be-staffel-active {
  background: rgba(122,141,49,0.1);
  border-color: var(--ac);
  color: var(--fg);
}

#p-kl-bestellen .kl-be-details-price { margin-bottom: var(--space-4); }
#p-kl-bestellen .kl-be-price-detail {
  margin-top: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-size: 13px;
}
#p-kl-bestellen .kl-be-price-detail > div {
  display: flex;
  justify-content: space-between;
  color: var(--fg);
}
#p-kl-bestellen .kl-be-price-detail > div > span:first-child { color: var(--mut); }
#p-kl-bestellen .kl-be-price-detail-rabatt > span:last-child { color: var(--ac); font-weight: 600; }
#p-kl-bestellen .kl-be-price-detail-total {
  padding-top: var(--space-2);
  border-top: 1px solid rgba(0,0,0,0.08);
  font-weight: 600;
}

#p-kl-bestellen .kl-be-cta {
  width: 100%;
  padding: var(--space-3);
  font-size: 14px;
  font-weight: 600;
}

/* ── Tier-Auswahl (oben über dem Grid) ── */
#p-kl-bestellen .kl-be-tiers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}
@media (max-width: 700px) {
  #p-kl-bestellen .kl-be-tiers { grid-template-columns: repeat(2, 1fr); }
}
#p-kl-bestellen .kl-be-tier {
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 10px;
  padding: 14px 14px 12px;
  background: var(--sur);
  cursor: pointer;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color .15s, background .15s, transform .15s;
}
#p-kl-bestellen .kl-be-tier:hover:not([disabled]) {
  border-color: var(--ac);
  transform: translateY(-1px);
}
#p-kl-bestellen .kl-be-tier-active {
  border-color: var(--ac);
  background: rgba(213,217,96,.10);
}
#p-kl-bestellen .kl-be-tier-soon {
  opacity: .55;
  cursor: not-allowed;
}
#p-kl-bestellen .kl-be-tier-code {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 22px;
  font-weight: 700;
  color: var(--fg);
  line-height: 1;
}
#p-kl-bestellen .kl-be-tier-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--fg);
}
#p-kl-bestellen .kl-be-tier-soon-tag {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--mut);
  margin-top: 2px;
}
#p-kl-bestellen .kl-be-tier-tag-live {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #d5d960;
  margin-top: 2px;
}

/* ── Bezahl-Optionen ── */
#p-kl-bestellen .kl-be-paymethod {
  border-top: 1px solid rgba(0,0,0,0.08);
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#p-kl-bestellen .kl-be-paymethod-h {
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mut);
  margin-bottom: 4px;
}
#p-kl-bestellen .kl-be-paymethod-opt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
#p-kl-bestellen .kl-be-paymethod-opt:hover { border-color: var(--ac); }
#p-kl-bestellen .kl-be-paymethod-active {
  border-color: var(--ac);
  background: rgba(213,217,96,.06);
}
#p-kl-bestellen .kl-be-paymethod-opt input[type=radio] {
  margin-top: 3px;
  accent-color: #d5d960;
}
#p-kl-bestellen .kl-be-paymethod-body { flex: 1; }
#p-kl-bestellen .kl-be-paymethod-title { font-size: 13px; font-weight: 600; color: var(--fg); }
#p-kl-bestellen .kl-be-paymethod-sub   { font-size: 11.5px; color: var(--mut); margin-top: 1px; }

#p-kl-bestellen .kl-be-cta-error {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  background: rgba(248,113,113,.08);
  border: 1px solid rgba(248,113,113,.30);
  color: #b91c1c;
  font-size: 12.5px;
  line-height: 1.5;
}
#p-kl-bestellen .kl-be-cta-hint {
  margin-top: 8px;
  font-size: 11px;
  color: var(--mut);
  text-align: center;
}
#p-kl-bestellen .kl-be-cta-hint a { color: var(--ac); text-decoration: none; }

/* Promo-Code Block (2026-05-31) */
#p-kl-bestellen .kl-be-promo {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid rgba(0,0,0,.08);
}
#p-kl-bestellen .kl-be-promo-h {
  font-family: 'DM Mono', monospace;
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--mut);
  margin-bottom: 6px;
}
#p-kl-bestellen .kl-be-promo-row {
  display: flex; gap: 8px;
}
#p-kl-bestellen .kl-be-promo-input {
  flex: 1;
  padding: 8px 12px;
  font-family: 'DM Mono', monospace;
  font-size: 13px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 6px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
#p-kl-bestellen .kl-be-promo-input:focus {
  outline: none;
  border-color: var(--ac);
  box-shadow: 0 0 0 3px rgba(213,217,96,.18);
}
#p-kl-bestellen .kl-be-promo-btn {
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  background: transparent;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 6px;
  cursor: pointer;
}
#p-kl-bestellen .kl-be-promo-btn:hover {
  border-color: var(--ac);
  color: var(--ac);
}
#p-kl-bestellen .kl-be-promo-status {
  margin-top: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12.5px;
}
#p-kl-bestellen .kl-be-promo-status.ok {
  background: rgba(34,197,94,.08);
  border: 1px solid rgba(34,197,94,.30);
  color: #166534;
}
#p-kl-bestellen .kl-be-promo-status.err {
  background: rgba(248,113,113,.08);
  border: 1px solid rgba(248,113,113,.30);
  color: #b91c1c;
}

/* ── Exklusivität (2026-05-31) ────────────────────────────────── */
#p-kl-bestellen .kl-be-excl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
#p-kl-bestellen .kl-be-excl-opt {
  display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
  padding: 12px var(--space-3);
  background: rgba(0,0,0,.02);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 8px;
  cursor: pointer; text-align: left;
  font-family: inherit;
  transition: all .15s;
}
#p-kl-bestellen .kl-be-excl-opt:hover:not(.kl-be-excl-disabled) {
  border-color: var(--ac);
  background: rgba(122,141,49,.04);
}
#p-kl-bestellen .kl-be-excl-active {
  border-color: var(--ac);
  background: rgba(122,141,49,.08);
  box-shadow: 0 0 0 2px rgba(122,141,49,.15);
}
#p-kl-bestellen .kl-be-excl-disabled {
  opacity: .45;
  cursor: not-allowed;
}
#p-kl-bestellen .kl-be-excl-code {
  font-size: 13px; font-weight: 700; color: var(--ac);
}
#p-kl-bestellen .kl-be-excl-disabled .kl-be-excl-code { color: var(--mut); }
#p-kl-bestellen .kl-be-excl-desc {
  font-size: 11.5px; color: var(--mut);
}

/* ── Sweet-Spot-Badge in Preis-Head ───────────────────────────── */
#p-kl-bestellen .kl-be-sweet-badge {
  display: inline-block;
  font-size: 10.5px; font-weight: 600;
  letter-spacing: .04em;
  padding: 3px 8px;
  margin-left: 6px;
  background: rgba(245,158,11,.16); color: #b67700;
  border-radius: 12px;
}
#p-kl-bestellen #kl-be-sweet-row {
  display: flex; justify-content: space-between;
  font-size: 13px;
}
#p-kl-bestellen #kl-be-sweet-row > span:first-child { color: var(--mut); }
#p-kl-bestellen #kl-be-sweet-row > span:last-child { color: #b67700; font-weight: 600; }

/* ── Kompakter Wizard (2026-05-31): gap/padding runter ────────── */
#p-kl-bestellen .kl-be-form { gap: var(--space-3); }
#p-kl-bestellen .kl-be-section { padding-bottom: 14px; }
#p-kl-bestellen .kl-be-sectionhint { margin-bottom: 10px; font-size: 12px; line-height: 1.4; }
#p-kl-bestellen .kl-be-class { padding: 10px var(--space-3); gap: 4px; }
#p-kl-bestellen .kl-be-row2 { gap: 10px; }
#p-kl-bestellen .kl-be-tiers { gap: 10px; margin-bottom: 16px; }
#p-kl-bestellen .kl-be-tier { padding: 10px 12px 10px; }
#p-kl-bestellen .kl-be-price { padding: 16px 18px 14px; }
#p-kl-bestellen .kl-be-price-head { margin-bottom: var(--space-3); }
#p-kl-bestellen .kl-be-savings { padding: 8px var(--space-3); margin-bottom: var(--space-3); }
#p-kl-bestellen .kl-be-staffel { margin-bottom: var(--space-3); }
#p-kl-bestellen .kl-be-details-price { margin-bottom: var(--space-3); }
#p-kl-bestellen .kl-be-promo { margin-top: var(--space-2); padding-top: var(--space-2); }

/* ── 2026-05-31: Aggressiv kompakt — alles auf einen Screen ──── */
#p-kl-bestellen .kl-be-head { margin-bottom: 14px; }
#p-kl-bestellen .kl-be-head h1 { font-size: 19px; }
#p-kl-bestellen .kl-be-grid { gap: 18px; }
#p-kl-bestellen .kl-be-form { gap: 12px; }
#p-kl-bestellen .kl-be-section { padding-bottom: 10px; }
#p-kl-bestellen .kl-be-sectionh { font-size: 11px; margin-bottom: 6px; }

/* Tier A/B/C/D Cards schmaler */
#p-kl-bestellen .kl-be-tiers { gap: 6px; margin-bottom: 12px; grid-template-columns: repeat(4, 1fr); }
#p-kl-bestellen .kl-be-tier { padding: 6px 8px 6px; min-height: 0; }
#p-kl-bestellen .kl-be-tier-code { font-size: 14px; line-height: 1.1; margin-bottom: 1px; }
#p-kl-bestellen .kl-be-tier-name { font-size: 11px; line-height: 1.15; }
#p-kl-bestellen .kl-be-tier-soon-tag,
#p-kl-bestellen .kl-be-tier-tag-live { font-size: 9px; margin-top: 2px; }

/* Größenklassen-Cards: column-Layout, tight (4-spaltig — row bricht zu früh) */
#p-kl-bestellen .kl-be-classes { gap: 6px; }
#p-kl-bestellen .kl-be-class {
  flex-direction: column; align-items: flex-start;
  padding: 7px 9px; gap: 1px; min-height: 0;
  white-space: nowrap;
}
#p-kl-bestellen .kl-be-class-code  { font-size: 14px; font-weight: 700; line-height: 1.05; }
#p-kl-bestellen .kl-be-class-range { font-size: 10.5px; line-height: 1.15; text-align: left; }
#p-kl-bestellen .kl-be-class-price { font-size: 12px; font-weight: 600; line-height: 1.15; text-align: left; margin-top: 1px; }

/* Exklusivität in eine Zeile, dünn */
#p-kl-bestellen .kl-be-excl { gap: 6px; }
#p-kl-bestellen .kl-be-excl-opt {
  flex-direction: row; align-items: center; justify-content: space-between;
  padding: 6px 10px; gap: 8px; min-height: 0;
}
#p-kl-bestellen .kl-be-excl-code { font-size: 12px; }
#p-kl-bestellen .kl-be-excl-desc { font-size: 10.5px; line-height: 1.15; }

/* Inputs etwas kleiner */
#p-kl-bestellen .kl-field label { font-size: 10.5px; }
#p-kl-bestellen .kl-be-row2 { gap: 8px; }
#p-kl-bestellen .kl-be-checkbox { padding: 3px 0; font-size: 12px; }
#p-kl-bestellen .kl-be-details > summary { font-size: 12px; padding: 2px 0; }

/* Preis-Box rechts kompakter */
#p-kl-bestellen .kl-be-price { padding: 14px 16px 12px; }
#p-kl-bestellen .kl-be-price-head { margin-bottom: 8px; }
#p-kl-bestellen .kl-be-price-big { font-size: 26px; }
#p-kl-bestellen .kl-be-price-sub { margin-bottom: 10px; font-size: 11px; }
#p-kl-bestellen .kl-be-savings { padding: 6px 12px; margin-bottom: 10px; font-size: 11.5px; }
#p-kl-bestellen .kl-be-staffel { margin-bottom: 10px; }
#p-kl-bestellen .kl-be-staffel-row { gap: 4px; }
#p-kl-bestellen .kl-be-staffel-stufe { padding: 4px 6px; font-size: 10.5px; }
#p-kl-bestellen .kl-be-details-price { margin-bottom: 10px; }
#p-kl-bestellen .kl-be-promo { margin-top: 8px; padding-top: 8px; }
#p-kl-bestellen .kl-be-promo-input { padding: 6px 10px; font-size: 12px; }
#p-kl-bestellen .kl-be-promo-btn { padding: 6px 10px; font-size: 12px; }
#p-kl-bestellen .kl-be-paymethod { margin-top: 10px; }
#p-kl-bestellen .kl-be-paymethod-opt { padding: 8px 10px; gap: 6px; }
#p-kl-bestellen .kl-be-paymethod-title { font-size: 12px; }
#p-kl-bestellen .kl-be-paymethod-sub { font-size: 10.5px; line-height: 1.2; }
#p-kl-bestellen .kl-be-cta { padding: 10px; font-size: 13px; margin-top: 10px; }
#p-kl-bestellen .kl-be-cta-hint { font-size: 10.5px; margin-top: 4px; }

/* Preis-Aufschlüsselung Zeilen: kein Wrap, sonst bricht der enge Panel */
#p-kl-bestellen .kl-be-price-detail > div > span { white-space: nowrap; }
#p-kl-bestellen #kl-be-sweet-row > span { white-space: nowrap; }
#p-kl-bestellen #kl-be-promo-row-detail > span { white-space: nowrap; }


/* Termine & Leads — Konzept-Page mit Tabs + Visualisierungen (2026-05-23)
   UI-Direktive: weiß/nüchtern, keine Outlines, dezent. Akzentfarbe nur bei
   handlungsrelevanten Hinweisen (Phase-now, Risk-Warn, Tier-recommended). */

#p-termine-leads-konzept {
  padding: 18px 22px;
  color: var(--tx);
}
#p-termine-leads-konzept .tlk-wrap { max-width: 1100px; margin: 0 auto; }

/* ─── Header ─────────────────────────────────────────────────────── */
#p-termine-leads-konzept .tlk-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: var(--space-5); flex-wrap: wrap; margin-bottom: 20px;
}
#p-termine-leads-konzept .tlk-head h1 {
  font-size: 22px; font-weight: 600; margin: 0 0 var(--space-1) 0;
  letter-spacing: -0.01em;
}
#p-termine-leads-konzept .tlk-sub {
  font-size: 12px; color: var(--tx3); margin: 0;
}
#p-termine-leads-konzept .tlk-status-summary {
  display: flex; gap: var(--space-3);
}
#p-termine-leads-konzept .tlk-stat {
  background: var(--sur); padding: var(--space-2) 14px; border-radius: var(--radius-md);
  text-align: center; min-width: 90px;
}
#p-termine-leads-konzept .tlk-stat-val {
  font-size: 18px; font-weight: 600; color: var(--tx);
  font-family: 'DM Mono', monospace;
}
#p-termine-leads-konzept .tlk-stat-lbl {
  font-size: 10px; color: var(--tx3); text-transform: uppercase;
  letter-spacing: 0.05em; margin-top: 2px;
}
#p-termine-leads-konzept .tlk-stat-warn .tlk-stat-val { color: var(--ac); }

/* ─── Tabs ──────────────────────────────────────────────────────── */
#p-termine-leads-konzept .tlk-tabs {
  display: flex; gap: 2px; margin-bottom: 22px; flex-wrap: wrap;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
#p-termine-leads-konzept .tlk-tab {
  background: none; border: none; padding: 10px var(--space-4);
  color: var(--tx3); cursor: pointer; font-size: 12px;
  font-weight: 500; border-bottom: 2px solid transparent;
  transition: all 120ms; font-family: inherit;
}
#p-termine-leads-konzept .tlk-tab:hover { color: var(--tx); }
#p-termine-leads-konzept .tlk-tab.on {
  color: var(--ac); border-bottom-color: var(--ac);
}

#p-termine-leads-konzept .tlk-panel[hidden] { display: none; }
#p-termine-leads-konzept .tlk-panel {
  animation: tlk-fade 200ms ease-out;
}
@keyframes tlk-fade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

/* ─── Headings ──────────────────────────────────────────────────── */
#p-termine-leads-konzept .tlk-h2 {
  font-size: 14px; font-weight: 600; margin: 0 0 14px 0;
  color: var(--tx);
}
#p-termine-leads-konzept .tlk-h3 {
  font-size: 11px; font-weight: 600; margin: 20px 0 var(--space-2) 0;
  text-transform: uppercase; letter-spacing: 0.06em; color: var(--tx3);
}
#p-termine-leads-konzept .tlk-lead {
  font-size: 12.5px; color: var(--tx2); line-height: 1.55;
  margin: 0 0 var(--space-4) 0;
}
#p-termine-leads-konzept .tlk-note {
  font-size: 11px; color: var(--tx3); font-style: italic; margin-top: 10px;
}
#p-termine-leads-konzept code {
  font-family: 'DM Mono', monospace; font-size: 11.5px;
  background: var(--sur); padding: 1px 5px; border-radius: 3px; color: var(--tx);
}
#p-termine-leads-konzept a { color: var(--ac); }

/* ─── Status-Tags ───────────────────────────────────────────────── */
#p-termine-leads-konzept .tlk-tag {
  display: inline-block; padding: 1px 7px; border-radius: 3px;
  font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em; font-family: 'DM Mono', monospace;
  margin-left: 6px;
}
#p-termine-leads-konzept .tlk-tag-done    { background: rgba(122,128,36,.18); color: var(--ac); }
#p-termine-leads-konzept .tlk-tag-now     { background: rgba(213,217,96,.22); color: var(--ac); }
#p-termine-leads-konzept .tlk-tag-partial { background: rgba(255,255,255,.08); color: var(--tx2); }
#p-termine-leads-konzept .tlk-tag-todo    { background: rgba(255,255,255,.05); color: var(--tx3); }
#p-termine-leads-konzept .tlk-tag-todo { background: rgba(245,158,11,.12); color: #f59e0b; }

/* ─── TAB 1: ROADMAP ────────────────────────────────────────────── */
#p-termine-leads-konzept .tlk-roadmap {
  list-style: none; margin: 0; padding: 0;
  position: relative;
}
#p-termine-leads-konzept .tlk-roadmap::before {
  content: ''; position: absolute; left: 18px; top: 6px; bottom: 6px;
  width: 2px; background: rgba(255,255,255,.08);
}
#p-termine-leads-konzept .tlk-phase {
  display: flex; gap: 14px; margin-bottom: var(--space-3);
  position: relative;
}
#p-termine-leads-konzept .tlk-phase-no {
  width: 38px; height: 38px; border-radius: 50%;
  background: var(--sur); display: flex; align-items: center;
  justify-content: center; font-weight: 600; color: var(--tx3);
  font-family: 'DM Mono', monospace; flex-shrink: 0;
  z-index: 1;
}
#p-termine-leads-konzept .tlk-phase-done .tlk-phase-no {
  background: var(--ac); color: var(--bg);
}
#p-termine-leads-konzept .tlk-phase-now .tlk-phase-no {
  background: rgba(213,217,96,.25); color: var(--ac);
  box-shadow: 0 0 0 4px rgba(213,217,96,.10);
  animation: tlk-pulse 2s ease-in-out infinite;
}
#p-termine-leads-konzept .tlk-phase-partial .tlk-phase-no {
  background: rgba(255,255,255,.08); color: var(--tx2);
  border: 1px dashed rgba(255,255,255,.20);
}
@keyframes tlk-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(213,217,96,.10); }
  50% { box-shadow: 0 0 0 8px rgba(213,217,96,.05); }
}
#p-termine-leads-konzept .tlk-phase-body { flex: 1; padding-top: 6px; }
#p-termine-leads-konzept .tlk-phase-h {
  font-weight: 600; font-size: 13px; margin-bottom: 3px;
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
#p-termine-leads-konzept .tlk-phase-body p {
  font-size: 11.5px; color: var(--tx3); margin: 0; line-height: 1.5;
}

/* Vision */
#p-termine-leads-konzept .tlk-vision {
  font-size: 14px; color: var(--tx); line-height: 1.5;
  padding: 14px 18px; background: var(--sur); border-radius: var(--radius-md);
}
#p-termine-leads-konzept .tlk-vision-sub {
  display: block; margin-top: var(--space-2); font-size: 12px; color: var(--tx3);
}

/* Actors */
#p-termine-leads-konzept .tlk-actors {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-2);
}
#p-termine-leads-konzept .tlk-actor {
  background: var(--sur); padding: 10px 14px; border-radius: var(--radius-md);
}
#p-termine-leads-konzept .tlk-actor-h {
  font-weight: 600; font-size: 12px; margin-bottom: 3px;
}
#p-termine-leads-konzept .tlk-actor-sub {
  font-size: 11px; color: var(--tx3);
}
#p-termine-leads-konzept .tlk-actor-new {
  background: rgba(213,217,96,.08);
}

/* ─── TAB 2: PRODUKT / PRICING ─────────────────────────────────── */
#p-termine-leads-konzept .tlk-tiers {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-3);
}
#p-termine-leads-konzept .tlk-tier-card {
  background: var(--sur); border-radius: 8px; padding: var(--space-4) 18px;
  position: relative;
}
#p-termine-leads-konzept .tlk-tier-recommended {
  background: rgba(213,217,96,.08);
  outline: 1px solid rgba(213,217,96,.30);
}
#p-termine-leads-konzept .tlk-tier-badge {
  position: absolute; top: -8px; right: 12px;
  background: var(--ac); color: var(--bg);
  padding: 2px var(--space-2); border-radius: 3px;
  font-size: 9px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em;
}
#p-termine-leads-konzept .tlk-tier-h {
  font-weight: 600; font-size: 13px; margin-bottom: var(--space-2);
}
#p-termine-leads-konzept .tlk-tier-price {
  font-size: 20px; font-weight: 700; color: var(--ac);
  font-family: 'DM Mono', monospace; line-height: 1.1;
}
#p-termine-leads-konzept .tlk-tier-price span {
  font-size: 11px; color: var(--tx3); font-weight: 400; margin-left: var(--space-1);
}
#p-termine-leads-konzept .tlk-tier-vol {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); margin: 6px 0 var(--space-3) 0;
}
#p-termine-leads-konzept .tlk-tier-claim {
  font-size: 12px; color: var(--tx3); line-height: 1.5;
  margin: var(--space-2) 0 0;
}
#p-termine-leads-konzept .tlk-tier-list {
  list-style: none; padding: 0; margin: 0 0 var(--space-3) 0;
}
#p-termine-leads-konzept .tlk-tier-list li {
  font-size: 11.5px; color: var(--tx2); padding: 3px 0;
  padding-left: var(--space-3); position: relative;
}
#p-termine-leads-konzept .tlk-tier-list li::before {
  content: '·'; position: absolute; left: 4px; color: var(--tx3);
}
#p-termine-leads-konzept .tlk-tier-target {
  font-size: 10px; color: var(--tx3); padding-top: var(--space-2);
  border-top: 1px solid rgba(255,255,255,.06);
  text-transform: uppercase; letter-spacing: 0.04em;
}

/* Marge-Visualisierung */
#p-termine-leads-konzept .tlk-margin-vis {
  background: var(--sur); border-radius: var(--radius-md); padding: var(--space-4) 18px;
}
#p-termine-leads-konzept .tlk-margin-bar {
  height: 36px; background: rgba(255,255,255,.05); border-radius: var(--radius-sm);
  display: flex; overflow: hidden; margin-bottom: 14px;
}
#p-termine-leads-konzept .tlk-margin-bar-fill {
  background: rgba(213,217,96,.40); display: flex; align-items: center;
  justify-content: center; color: var(--tx); font-weight: 600;
  font-family: 'DM Mono', monospace; font-size: 12px;
}
#p-termine-leads-konzept .tlk-margin-bar-cost {
  background: rgba(248,113,113,.25); display: flex; align-items: center;
  justify-content: center; color: var(--tx); font-size: 10px;
  font-family: 'DM Mono', monospace;
}
#p-termine-leads-konzept .tlk-margin-info {
  display: flex; gap: var(--space-4); flex-wrap: wrap; font-size: 12px;
}
#p-termine-leads-konzept .tlk-margin-info > div {
  display: flex; flex-direction: column; gap: 2px;
}
#p-termine-leads-konzept .tlk-margin-info span {
  font-size: 10px; color: var(--tx3); text-transform: uppercase;
  letter-spacing: 0.04em;
}
#p-termine-leads-konzept .tlk-margin-info strong {
  font-size: 14px; font-family: 'DM Mono', monospace; color: var(--tx);
}

#p-termine-leads-konzept .tlk-table-clean {
  width: 100%; border-collapse: collapse; font-size: 12px; margin-top: var(--space-2);
}
#p-termine-leads-konzept .tlk-table-clean th {
  text-align: left; padding: var(--space-2) var(--space-3); color: var(--tx3);
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  font-weight: 500; border-bottom: 1px solid var(--bd);
}
#p-termine-leads-konzept .tlk-table-clean td {
  padding: 9px var(--space-3); color: var(--tx2); border-bottom: 1px solid var(--bd);
  font-family: 'DM Mono', monospace;
}
#p-termine-leads-konzept .tlk-table-clean tbody tr:hover { background: var(--sur2); }

/* ─── TAB 3: FLOW ──────────────────────────────────────────────── */
#p-termine-leads-konzept .tlk-funnel {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  max-width: 720px; margin: 0 auto;
}
#p-termine-leads-konzept .tlk-funnel-step {
  background: var(--sur); padding: var(--space-3) 18px; border-radius: var(--radius-md);
  min-width: 360px; max-width: 600px; width: 100%;
}
#p-termine-leads-konzept .tlk-funnel-num {
  display: inline-block; width: 22px; height: 22px; border-radius: 50%;
  background: var(--ac); color: var(--bg); text-align: center;
  font-size: 11px; font-weight: 600; line-height: 22px;
  margin-right: var(--space-2); vertical-align: middle;
}
#p-termine-leads-konzept .tlk-funnel-h {
  display: inline; font-weight: 600; font-size: 12.5px;
}
#p-termine-leads-konzept .tlk-funnel-sub {
  font-size: 11px; color: var(--tx3); margin-top: var(--space-1); margin-left: 30px;
}
#p-termine-leads-konzept .tlk-funnel-arrow {
  color: var(--tx3); font-size: 16px; line-height: 1;
}
#p-termine-leads-konzept .tlk-funnel-fork {
  font-size: 12px; letter-spacing: 12px;
}
#p-termine-leads-konzept .tlk-funnel-branches {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2);
  width: 100%;
}
#p-termine-leads-konzept .tlk-funnel-branch {
  background: var(--sur2); padding: 10px 14px; border-radius: var(--radius-md);
}
#p-termine-leads-konzept .tlk-funnel-stripe {
  background: rgba(213,217,96,.08);
}
#p-termine-leads-konzept .tlk-funnel-end {
  background: rgba(245,158,11,.08);
}

/* Lifecycle */
#p-termine-leads-konzept .tlk-lifecycle {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2);
  background: var(--sur); padding: 14px 18px; border-radius: var(--radius-md);
}
#p-termine-leads-konzept .tlk-state {
  background: var(--bg); padding: 6px 14px; border-radius: 18px;
  font-family: 'DM Mono', monospace; font-size: 12px; font-weight: 500;
  color: var(--tx);
}
#p-termine-leads-konzept .tlk-state-pending { background: rgba(245,158,11,.15); color: #f59e0b; }
#p-termine-leads-konzept .tlk-state-paid { background: rgba(213,217,96,.20); color: var(--ac); }
#p-termine-leads-konzept .tlk-state-delivered { background: rgba(122,128,36,.25); color: var(--ac); }
#p-termine-leads-konzept .tlk-state-recl { background: rgba(248,113,113,.15); color: var(--ac4); }
#p-termine-leads-konzept .tlk-state-resolved { background: rgba(122,128,36,.15); color: var(--ac); }
#p-termine-leads-konzept .tlk-state-arrow {
  color: var(--tx3); font-size: 14px;
}
#p-termine-leads-konzept .tlk-state-branch {
  display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap;
  margin-left: 20px; padding-left: 14px;
  border-left: 1px solid rgba(255,255,255,.10);
}

/* Sequenz */
#p-termine-leads-konzept .tlk-sequence {
  background: var(--sur); padding: 14px 18px; border-radius: var(--radius-md);
  font-family: 'DM Mono', monospace; font-size: 12px;
}
#p-termine-leads-konzept .tlk-seq-row {
  display: flex; gap: var(--space-3); padding: var(--space-1) 0;
  border-bottom: 1px dashed rgba(255,255,255,.04);
}
#p-termine-leads-konzept .tlk-seq-row:last-child { border-bottom: none; }
#p-termine-leads-konzept .tlk-seq-actor {
  min-width: 80px; color: var(--tx3); font-weight: 600;
}
#p-termine-leads-konzept .tlk-seq-action {
  color: var(--tx2);
}
#p-termine-leads-konzept .tlk-seq-pay {
  background: rgba(213,217,96,.06);
}
#p-termine-leads-konzept .tlk-seq-done {
  background: rgba(122,128,36,.10);
}

/* ─── TAB 4: REKLAMATIONEN ───────────────────────────────────── */
#p-termine-leads-konzept .tlk-staffel {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2);
}
#p-termine-leads-konzept .tlk-staffel-step {
  padding: 14px; border-radius: var(--radius-md); background: var(--sur);
  border-top: 3px solid transparent;
}
#p-termine-leads-konzept .tlk-staffel-green  { border-top-color: #22c55e; }
#p-termine-leads-konzept .tlk-staffel-yellow { border-top-color: #f5d142; }
#p-termine-leads-konzept .tlk-staffel-orange { border-top-color: #f59e0b; }
#p-termine-leads-konzept .tlk-staffel-red    { border-top-color: #ef4444; }
#p-termine-leads-konzept .tlk-staffel-range {
  font-family: 'DM Mono', monospace; font-size: 16px; font-weight: 700;
  margin-bottom: 6px;
}
#p-termine-leads-konzept .tlk-staffel-action {
  font-weight: 600; font-size: 12px; margin-bottom: var(--space-1);
}
#p-termine-leads-konzept .tlk-staffel-sub {
  font-size: 11px; color: var(--tx3); line-height: 1.4;
}

#p-termine-leads-konzept .tlk-special-rule {
  background: rgba(213,217,96,.10); border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4); font-size: 12px; color: var(--tx);
}

#p-termine-leads-konzept .tlk-reasons {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-2);
}
#p-termine-leads-konzept .tlk-reason {
  background: var(--sur); padding: 10px 14px; border-radius: var(--radius-md);
}
#p-termine-leads-konzept .tlk-reason-h {
  font-weight: 600; font-size: 12px; margin-bottom: 3px;
}
#p-termine-leads-konzept .tlk-reason-sub {
  font-size: 11px; color: var(--tx3); line-height: 1.4;
}
#p-termine-leads-konzept .tlk-reason-c {
  background: rgba(213,217,96,.06);
}

#p-termine-leads-konzept .tlk-build-plan {
  display: flex; flex-direction: column; gap: var(--space-2);
}
#p-termine-leads-konzept .tlk-build-item {
  display: flex; gap: var(--space-3); align-items: flex-start;
  background: var(--sur); padding: 10px 14px; border-radius: var(--radius-md);
  font-size: 12px;
}
#p-termine-leads-konzept .tlk-build-tag {
  background: rgba(213,217,96,.18); color: var(--ac);
  padding: 2px var(--space-2); border-radius: 3px;
  font-size: 10px; font-weight: 600; min-width: 88px; text-align: center;
  font-family: 'DM Mono', monospace; flex-shrink: 0;
}

/* ─── TAB 5: SICHERHEIT ──────────────────────────────────────── */
#p-termine-leads-konzept .tlk-security {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 6px;
}
#p-termine-leads-konzept .tlk-sec-item {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 14px; background: var(--sur); border-radius: var(--radius-md);
  font-size: 12px;
}
#p-termine-leads-konzept .tlk-sec-live { border-left: 2px solid var(--ac); }
#p-termine-leads-konzept .tlk-sec-todo { border-left: 2px solid #f59e0b; }

/* Risk-Matrix */
#p-termine-leads-konzept .tlk-matrix {
  background: var(--sur); padding: var(--space-4); border-radius: var(--radius-md);
}
#p-termine-leads-konzept .tlk-matrix-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px;
}
#p-termine-leads-konzept .tlk-matrix-cell {
  padding: 10px var(--space-3); border-radius: var(--radius-sm); background: var(--bg);
  min-height: 76px; font-size: 11px;
}
#p-termine-leads-konzept .tlk-matrix-cell-h {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--tx3); margin-bottom: 6px;
}
#p-termine-leads-konzept .tlk-matrix-cell ul {
  list-style: none; padding: 0; margin: 0;
}
#p-termine-leads-konzept .tlk-matrix-cell li {
  font-size: 11px; color: var(--tx2); margin: 2px 0;
  padding-left: var(--space-2); position: relative;
}
#p-termine-leads-konzept .tlk-matrix-cell li::before {
  content: '·'; position: absolute; left: 0; color: var(--tx3);
}
#p-termine-leads-konzept .tlk-matrix-warn { background: rgba(245,158,11,.08); }
#p-termine-leads-konzept .tlk-matrix-danger { background: rgba(248,113,113,.10); }
#p-termine-leads-konzept .tlk-matrix-legend {
  margin-top: 10px; font-size: 10px; color: var(--tx3);
  text-align: center; font-family: 'DM Mono', monospace;
}

/* ─── TAB 6: ENTSCHEIDUNGEN ─────────────────────────────────── */
#p-termine-leads-konzept .tlk-decisions {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-2);
}
#p-termine-leads-konzept .tlk-decisions li {
  background: var(--sur); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
  counter-increment: tlk-dec; position: relative;
  padding-left: 44px;
}
#p-termine-leads-konzept .tlk-decisions {
  counter-reset: tlk-dec;
}
#p-termine-leads-konzept .tlk-decisions li::before {
  content: counter(tlk-dec);
  position: absolute; left: 14px; top: 12px;
  width: 22px; height: 22px; border-radius: 50%;
  background: rgba(213,217,96,.15); color: var(--ac);
  font-family: 'DM Mono', monospace; font-weight: 600; font-size: 11px;
  display: flex; align-items: center; justify-content: center;
}
#p-termine-leads-konzept .tlk-dec-h {
  font-weight: 600; font-size: 12.5px; margin-bottom: var(--space-1);
}
#p-termine-leads-konzept .tlk-dec-q {
  font-size: 11.5px; color: var(--tx2); line-height: 1.5;
}
#p-termine-leads-konzept .tlk-dec-meta {
  font-size: 10px; color: var(--tx3); margin-top: 6px;
  font-style: italic;
}

/* Storno-Pages (Regeln + Erfassung), 2026-05-24
   UI-Direktive: weiß/nüchtern, dezent. Akzentfarbe nur fuer
   handlungsrelevante Hinweise (Warnung, Aktion-Button). */

#p-storno-regeln, #p-storno-erfassung {
  padding: 18px 22px; color: var(--tx);
}
#p-storno-regeln .stn-wrap, #p-storno-erfassung .stn-wrap {
  max-width: 980px; margin: 0 auto;
}

/* ─── Header (geteilt) ─────────────────────────────────────── */
#p-storno-regeln .stn-head, #p-storno-erfassung .stn-head {
  margin-bottom: 20px;
}
#p-storno-regeln .stn-head h1, #p-storno-erfassung .stn-head h1 {
  font-size: 22px; font-weight: 600; margin: 0 0 var(--space-1) 0;
  letter-spacing: -0.01em;
}
#p-storno-regeln .stn-sub, #p-storno-erfassung .stn-sub {
  font-size: 12px; color: var(--tx3); margin: 0;
}
#p-storno-regeln .stn-sub a, #p-storno-erfassung .stn-sub a {
  color: var(--ac); text-decoration: none;
}

/* ─── Headline-Karten (Storno-Regeln) ─────────────────────── */
#p-storno-regeln .stn-headline {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px; margin-bottom: var(--space-5);
}
#p-storno-regeln .stn-headline-item {
  background: var(--sur); padding: 14px 18px; border-radius: var(--radius-md);
  border-left: 3px solid var(--ac);
}
#p-storno-regeln .stn-headline-val {
  font-size: 22px; font-weight: 700; color: var(--ac);
  font-family: 'DM Mono', monospace; line-height: 1.1;
}
#p-storno-regeln .stn-headline-lbl {
  font-size: 11px; color: var(--tx3); margin-top: var(--space-1);
  text-transform: uppercase; letter-spacing: 0.04em;
}

/* ─── Sektionen ─────────────────────────────────────────────── */
#p-storno-regeln .stn-sec, #p-storno-erfassung .stn-sec {
  margin-bottom: 28px;
}
#p-storno-regeln .stn-h2, #p-storno-erfassung .stn-h2 {
  font-size: 14px; font-weight: 600; margin: 0 0 var(--space-3) 0;
}
#p-storno-regeln .stn-h2-ok { color: var(--ac); }
#p-storno-regeln .stn-h2-bad { color: var(--ac4); }
#p-storno-regeln .stn-lead {
  font-size: 12.5px; color: var(--tx2); line-height: 1.55;
  margin: 0 0 14px 0;
}

/* ─── Steps (Käufer-Pflichten) ────────────────────────────── */
#p-storno-regeln .stn-steps {
  list-style: none; padding: 0; margin: 0 0 14px 0;
  counter-reset: stn-step;
}
#p-storno-regeln .stn-steps > li {
  background: var(--sur); padding: var(--space-3) var(--space-4) var(--space-3) 50px;
  border-radius: var(--radius-md); margin-bottom: 6px;
  position: relative; counter-increment: stn-step;
}
#p-storno-regeln .stn-steps > li::before {
  content: counter(stn-step);
  position: absolute; left: 14px; top: 12px;
  width: 24px; height: 24px; border-radius: 50%;
  background: rgba(213,217,96,.18); color: var(--ac);
  font-family: 'DM Mono', monospace; font-weight: 600; font-size: 12px;
  display: flex; align-items: center; justify-content: center;
}
#p-storno-regeln .stn-steps > li > strong {
  display: block; font-size: 12.5px; margin-bottom: var(--space-1);
}
#p-storno-regeln .stn-steps ul {
  margin: var(--space-1) 0 0 18px; padding: 0;
}
#p-storno-regeln .stn-steps ul li {
  font-size: 12px; color: var(--tx2); margin: 2px 0;
}

/* Callout (Warnung) */
#p-storno-regeln .stn-callout {
  background: rgba(245,158,11,.10);
  padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
  font-size: 12px; color: var(--tx);
  border-left: 3px solid #f59e0b;
}

/* ─── Reason-Karten (gültig/ungültig) ─────────────────────── */
#p-storno-regeln .stn-reasons {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-2);
}
#p-storno-regeln .stn-reason {
  background: var(--sur); padding: 10px 14px; border-radius: var(--radius-md);
}
#p-storno-regeln .stn-reasons-ok .stn-reason {
  border-left: 2px solid var(--ac);
}
#p-storno-regeln .stn-reasons-bad .stn-reason {
  border-left: 2px solid var(--ac4);
}
#p-storno-regeln .stn-reason-h {
  font-weight: 600; font-size: 12.5px; margin-bottom: 3px;
}
#p-storno-regeln .stn-reason-sub {
  font-size: 11.5px; color: var(--tx3); line-height: 1.45;
}
#p-storno-regeln .stn-reason-tier-c {
  background: rgba(213,217,96,.06);
}
#p-storno-regeln .stn-badge {
  display: inline-block; background: rgba(213,217,96,.20); color: var(--ac);
  padding: 1px 7px; border-radius: 3px; font-size: 9px;
  text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600;
  margin-left: 6px;
}

/* ─── Flow-Schritte (Was nach Storno passiert) ────────────── */
#p-storno-regeln .stn-flow {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
#p-storno-regeln .stn-flow-step {
  background: var(--sur); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md);
  display: flex; gap: var(--space-3); align-items: flex-start;
  width: 100%; max-width: 640px;
}
#p-storno-regeln .stn-flow-step.stn-flow-end {
  background: rgba(122,128,36,.10);
}
#p-storno-regeln .stn-flow-step.stn-flow-decision {
  background: var(--sur2);
}
#p-storno-regeln .stn-flow-no {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--ac); color: var(--bg); text-align: center;
  font-size: 11px; font-weight: 700; line-height: 24px;
  flex-shrink: 0; font-family: 'DM Mono', monospace;
}
#p-storno-regeln .stn-flow-body { flex: 1; }
#p-storno-regeln .stn-flow-h {
  font-weight: 600; font-size: 12.5px; margin-bottom: 3px;
}
#p-storno-regeln .stn-flow-sub {
  font-size: 11.5px; color: var(--tx3); line-height: 1.5;
}
#p-storno-regeln .stn-flow-branches {
  display: grid; gap: var(--space-1); margin-top: 6px;
}
#p-storno-regeln .stn-flow-branches > div {
  font-size: 11.5px; color: var(--tx2);
  padding-left: 14px; position: relative;
}
#p-storno-regeln .stn-flow-branches > div::before {
  content: '→'; position: absolute; left: 0; color: var(--tx3);
}
#p-storno-regeln .stn-flow-arrow {
  color: var(--tx3); font-size: 16px;
}

/* ─── Quotenstaffel ────────────────────────────────────────── */
#p-storno-regeln .stn-staffel {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-2);
}
#p-storno-regeln .stn-staffel-step {
  padding: 14px; border-radius: var(--radius-md); background: var(--sur);
  border-top: 3px solid transparent;
}
#p-storno-regeln .stn-staffel-green  { border-top-color: #22c55e; }
#p-storno-regeln .stn-staffel-yellow { border-top-color: #f5d142; }
#p-storno-regeln .stn-staffel-orange { border-top-color: #f59e0b; }
#p-storno-regeln .stn-staffel-red    { border-top-color: #ef4444; }
#p-storno-regeln .stn-staffel-range {
  font-family: 'DM Mono', monospace; font-size: 16px; font-weight: 700;
  margin-bottom: var(--space-1);
}
#p-storno-regeln .stn-staffel-action {
  font-weight: 600; font-size: 12px; margin-bottom: 2px;
}
#p-storno-regeln .stn-staffel-sub {
  font-size: 11px; color: var(--tx3);
}

/* Warnung-Block */
#p-storno-regeln .stn-warn {
  background: rgba(248,113,113,.08); padding: var(--space-4) 20px; border-radius: var(--radius-md);
  border-left: 3px solid var(--ac4);
}
#p-storno-regeln .stn-warn h2 { color: var(--ac4); }
#p-storno-regeln .stn-warn p { font-size: 12.5px; color: var(--tx2); margin: 0; }

/* Footer */
#p-storno-regeln .stn-foot {
  margin-top: var(--space-6); padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.06);
  font-size: 11px; color: var(--tx3);
}
#p-storno-regeln .stn-foot a { color: var(--ac); }

/* ─── Storno-Erfassung (Form) ─────────────────────────────── */
#p-storno-erfassung .stn-banner {
  background: rgba(245,158,11,.10); padding: 10px 14px; border-radius: var(--radius-md);
  font-size: 11.5px; color: var(--tx2); margin-bottom: 18px;
  border-left: 3px solid #f59e0b;
}
#p-storno-erfassung .stn-banner a { color: var(--ac); }
#p-storno-erfassung .stn-form-sec {
  background: var(--sur); padding: 14px 18px; border-radius: var(--radius-md);
  margin-bottom: var(--space-3);
}
#p-storno-erfassung .stn-form-help {
  font-size: 11.5px; color: var(--tx3); margin: var(--space-1) 0 10px 0;
}
#p-storno-erfassung .stn-field {
  display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: var(--space-2);
}
#p-storno-erfassung .stn-field > span {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); font-weight: 600;
}
#p-storno-erfassung .stn-field input,
#p-storno-erfassung .stn-field select,
#p-storno-erfassung .stn-field textarea {
  padding: 6px 10px; background: var(--bg);
  border: 1px solid rgba(255,255,255,.10); border-radius: var(--radius-sm);
  color: var(--tx); font-family: inherit; font-size: 12.5px;
}
#p-storno-erfassung .stn-field textarea {
  font-family: inherit; line-height: 1.5;
}
#p-storno-erfassung .stn-field input:focus,
#p-storno-erfassung .stn-field select:focus,
#p-storno-erfassung .stn-field textarea:focus {
  outline: none; border-color: var(--ac);
}
#p-storno-erfassung .stn-field small {
  font-size: 10.5px; color: var(--tx3); margin-top: 2px;
}

/* Drop-Zone für Nachweis-Upload (2026-05-24) */
#p-storno-erfassung .stn-dropzone {
  border: 2px dashed rgba(255,255,255,.14);
  border-radius: 8px;
  padding: 22px 18px;
  background: var(--bg);
  cursor: pointer;
  transition: all 150ms ease;
  text-align: center;
}
#p-storno-erfassung .stn-dropzone:hover,
#p-storno-erfassung .stn-dropzone:focus {
  border-color: var(--ac);
  background: rgba(213,217,96,.04);
  outline: none;
}
#p-storno-erfassung .stn-dropzone.is-dragover {
  border-color: var(--ac);
  border-style: solid;
  background: rgba(213,217,96,.10);
}
#p-storno-erfassung .stn-dropzone-inner {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  pointer-events: none;
}
#p-storno-erfassung .stn-dropzone-icon {
  font-size: 22px; opacity: .7;
}
#p-storno-erfassung .stn-dropzone-main {
  font-size: 13px; color: var(--tx);
}
#p-storno-erfassung .stn-dropzone-link {
  color: var(--ac); text-decoration: underline;
}
#p-storno-erfassung .stn-dropzone-sub {
  font-size: 11px; color: var(--tx3); margin-top: 2px;
}

/* File-Liste */
#p-storno-erfassung .stn-file-list {
  display: flex; flex-direction: column; gap: var(--space-1);
  margin-top: 10px;
}
#p-storno-erfassung .stn-file-list[hidden] { display: none; }
#p-storno-erfassung .stn-file-item {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 10px; background: var(--sur);
  border-radius: var(--radius-sm); font-size: 12px;
}
#p-storno-erfassung .stn-file-name {
  flex: 1; color: var(--tx); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
#p-storno-erfassung .stn-file-size {
  color: var(--tx3); font-family: 'DM Mono', monospace; font-size: 11px;
}
#p-storno-erfassung .stn-file-del {
  background: none; border: none; color: var(--tx3); cursor: pointer;
  font-size: 16px; padding: 0 var(--space-1);
}
#p-storno-erfassung .stn-file-del:hover { color: var(--ac4); }
#p-storno-erfassung .stn-file-help {
  display: block; margin-top: var(--space-2);
  font-size: 11px; color: var(--tx3); font-style: italic;
}

/* Adress-Multi-Select Container */
#p-storno-erfassung .stn-addrs {
  background: var(--bg); padding: 10px 14px; border-radius: var(--radius-sm);
}
#p-storno-erfassung .stn-addrs-empty {
  font-size: 11.5px; color: var(--tx3); font-style: italic;
  text-align: center; padding: var(--space-2);
}

/* Dokumentations-Tabelle */
#p-storno-erfassung .stn-doc-table {
  display: flex; flex-direction: column; gap: var(--space-1);
}
#p-storno-erfassung .stn-doc-head,
#p-storno-erfassung .stn-doc-row {
  display: grid;
  grid-template-columns: 140px 90px 1fr 1fr 28px;
  gap: 6px; align-items: center;
}
#p-storno-erfassung .stn-doc-head {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em;
  color: var(--tx3); padding: 0 2px;
}
#p-storno-erfassung .stn-doc-row input,
#p-storno-erfassung .stn-doc-row select {
  padding: var(--space-1) var(--space-2); background: var(--bg);
  border: 1px solid rgba(255,255,255,.10); border-radius: 3px;
  color: var(--tx); font-size: 12px;
}
#p-storno-erfassung .stn-doc-del {
  background: none; border: none; color: var(--tx3); cursor: pointer;
  font-size: 16px; padding: 0;
}
#p-storno-erfassung .stn-doc-del:hover { color: var(--ac4); }
#p-storno-erfassung .stn-doc-add {
  background: none; border: 1px dashed rgba(255,255,255,.15); color: var(--tx2);
  padding: 6px var(--space-3); border-radius: var(--radius-sm); cursor: pointer;
  font-size: 11.5px; margin-top: 6px;
}
#p-storno-erfassung .stn-doc-add:hover { border-color: var(--ac); color: var(--ac); }

/* Submit */
#p-storno-erfassung .stn-submit {
  background: rgba(213,217,96,.05);
}
#p-storno-erfassung .stn-check {
  display: flex; align-items: flex-start; gap: var(--space-2);
  font-size: 12px; color: var(--tx2); margin-bottom: 14px;
  line-height: 1.5;
}
#p-storno-erfassung .stn-submit-row {
  display: flex; gap: 14px; align-items: center; flex-wrap: wrap;
}
#p-storno-erfassung .stn-btn-primary {
  background: var(--ac); color: var(--bg); border: none;
  padding: 10px 22px; border-radius: 5px;
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: filter 120ms;
}
#p-storno-erfassung .stn-btn-primary:hover:not(:disabled) {
  filter: brightness(1.1);
}
#p-storno-erfassung .stn-btn-primary:disabled {
  background: var(--sur2); color: var(--tx3); cursor: not-allowed;
}
#p-storno-erfassung .stn-submit-meta {
  font-size: 11px; color: var(--tx3);
}

/* Storno-Regeln Compact-Layout (2026-05-28)
   Reduzierte Variante damit die Seite spaeter als Block in das Kundenmenue
   passt (kl-kundenansicht / kl-erst-login / Mandanten-Drawer).
   Erweitert storno.css ohne dessen Basis-Klassen zu brechen. */

#p-storno-regeln .stn-compact { padding-top: var(--space-1); }

#p-storno-regeln .stn-page-head { margin-bottom: 18px; }
#p-storno-regeln .stn-page-head h1 {
  font-size: 18px; font-weight: 600; margin: 0 0 var(--space-1) 0; letter-spacing: -.01em;
}
#p-storno-regeln .stn-page-head .kl-sub {
  font-size: 11.5px; color: var(--tx3); margin: 0;
}

/* Kompakte Headline-Tiles */
#p-storno-regeln .stn-compact .stn-headline {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-2); margin-bottom: 18px;
}
#p-storno-regeln .stn-compact .stn-headline-item {
  padding: 10px var(--space-3); border-left-width: 2px;
}
#p-storno-regeln .stn-compact .stn-headline-val {
  font-size: 15px; font-weight: 600;
}
#p-storno-regeln .stn-compact .stn-headline-lbl {
  font-size: 10px; margin-top: 2px;
}

/* 2-Spalter fuer Vorgehen + Ablauf */
#p-storno-regeln .stn-twocol {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4);
  margin-bottom: var(--space-4);
}
@media (max-width: 720px) {
  #p-storno-regeln .stn-twocol { grid-template-columns: 1fr; }
}
#p-storno-regeln .stn-compact .stn-sec { margin-bottom: 14px; }
#p-storno-regeln .stn-compact .stn-h2 { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--tx3); font-weight: 600; margin-bottom: var(--space-2); }
#p-storno-regeln .stn-compact .stn-lead { font-size: 11.5px; line-height: 1.5; margin: 0; }

/* Flow-Liste statt nummerierte Steps */
#p-storno-regeln .stn-flow {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: var(--space-1);
  counter-reset: flow;
}
#p-storno-regeln .stn-flow > li {
  counter-increment: flow;
  font-size: 11.5px; color: var(--tx2);
  padding: var(--space-1) 0 var(--space-1) var(--space-5); position: relative;
}
#p-storno-regeln .stn-flow > li::before {
  content: counter(flow);
  position: absolute; left: 0; top: 4px;
  width: 16px; height: 16px; border-radius: 50%;
  background: rgba(122,128,36,.15); color: var(--ac);
  font-family: 'DM Mono', monospace; font-weight: 600; font-size: 9.5px;
  display: flex; align-items: center; justify-content: center;
}
#p-storno-regeln .stn-flow > li strong {
  color: var(--tx); font-weight: 500;
}

/* Accordion (details/summary) */
#p-storno-regeln .stn-accordion {
  border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--radius-md); margin-bottom: var(--space-2);
  background: var(--sur);
  overflow: hidden;
}
#p-storno-regeln .stn-accordion summary {
  cursor: pointer; padding: 10px 14px;
  font-size: 12px; color: var(--tx);
  display: flex; align-items: center; gap: var(--space-2);
  list-style: none;
  user-select: none;
}
#p-storno-regeln .stn-accordion summary::-webkit-details-marker { display: none; }
#p-storno-regeln .stn-accordion summary::after {
  content: '▾';
  margin-left: auto;
  font-size: 10px; color: var(--tx3);
  transition: transform .15s ease;
}
#p-storno-regeln .stn-accordion[open] summary::after { transform: rotate(180deg); }
#p-storno-regeln .stn-acc-dot {
  width: 8px; height: 8px; border-radius: 50%;
}
#p-storno-regeln .stn-acc-dot.ok  { background: #5a8d3a; }
#p-storno-regeln .stn-acc-dot.bad { background: #b91c1c; }
#p-storno-regeln .stn-acc-count {
  font-family: 'DM Mono', monospace; font-size: 10.5px;
  color: var(--tx3); background: var(--sur2);
  padding: 1px 6px; border-radius: 3px;
}

/* Reasons-Grid dichter */
#p-storno-regeln .stn-compact .stn-reasons {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 6px;
  padding: var(--space-1) 10px var(--space-3) 10px;
}
#p-storno-regeln .stn-compact .stn-reason {
  padding: var(--space-2) 10px;
}
#p-storno-regeln .stn-compact .stn-reason-h {
  font-size: 11.5px; font-weight: 500;
}
#p-storno-regeln .stn-compact .stn-reason-sub {
  font-size: 10.5px; color: var(--tx3); margin-top: 2px;
}

/* Staffel kompakter */
#p-storno-regeln .stn-compact .stn-staffel {
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 6px;
}
#p-storno-regeln .stn-compact .stn-staffel-step {
  padding: 10px var(--space-3);
}
#p-storno-regeln .stn-compact .stn-staffel-range {
  font-size: 13px;
}
#p-storno-regeln .stn-compact .stn-staffel-action {
  font-size: 11.5px; font-weight: 500;
}
#p-storno-regeln .stn-compact .stn-staffel-sub {
  font-size: 10px;
}

#p-storno-regeln .stn-footnote {
  font-size: 10.5px; color: var(--tx3); margin-top: var(--space-4);
  border-top: 1px solid rgba(0,0,0,.05); padding-top: 10px;
}
#p-storno-regeln .stn-footnote a { color: var(--ac); }

/* Storno-Übersicht (2026-05-24) — Layout angelehnt an Support-Page.
   UI nüchtern (weiß/dezent), Akzentfarbe nur für Status + Aktionen. */

#p-storno-uebersicht {
  padding: 18px 22px; color: var(--tx);
}
#p-storno-uebersicht .stnu-wrap { max-width: 1240px; margin: 0 auto; }

/* Header */
#p-storno-uebersicht .stnu-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: var(--space-4); flex-wrap: wrap; margin-bottom: 20px;
}
#p-storno-uebersicht .stnu-head h1 {
  font-size: 22px; font-weight: 600; margin: 0 0 var(--space-1) 0;
  letter-spacing: -0.01em;
}
#p-storno-uebersicht .stnu-sub {
  font-size: 12px; color: var(--tx3); margin: 0;
}
#p-storno-uebersicht .stnu-btn {
  background: var(--sur); border: 1px solid rgba(255,255,255,.10);
  color: var(--tx); padding: var(--space-2) 14px; border-radius: 5px;
  font-size: 12px; cursor: pointer; font-family: inherit;
}
#p-storno-uebersicht .stnu-btn:hover { background: var(--sur2); border-color: var(--ac); color: var(--ac); }

/* KPI-Karten */
#p-storno-uebersicht .stnu-kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px; margin-bottom: 18px;
}
#p-storno-uebersicht .stnu-kpi {
  background: var(--sur); padding: 14px var(--space-4); border-radius: var(--radius-md);
}
#p-storno-uebersicht .stnu-kpi-lbl {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--tx3); margin-bottom: var(--space-1);
}
#p-storno-uebersicht .stnu-kpi-val {
  font-size: 22px; font-weight: 700; color: var(--tx);
  font-family: 'DM Mono', monospace; line-height: 1.1;
}
#p-storno-uebersicht .stnu-kpi-refund .stnu-kpi-val { color: var(--ac); }

/* Tabs */
#p-storno-uebersicht .stnu-tabs {
  display: flex; gap: 2px; margin-bottom: var(--space-3); flex-wrap: wrap;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
#p-storno-uebersicht .stnu-tab {
  background: none; border: none; padding: var(--space-2) 14px;
  color: var(--tx3); cursor: pointer; font-size: 12px;
  border-bottom: 2px solid transparent; font-family: inherit;
}
#p-storno-uebersicht .stnu-tab:hover { color: var(--tx); }
#p-storno-uebersicht .stnu-tab.on {
  color: var(--ac); border-bottom-color: var(--ac);
}

/* Tabelle */
#p-storno-uebersicht .stnu-table-wrap {
  background: var(--sur); border-radius: var(--radius-md); overflow: hidden;
}
#p-storno-uebersicht .stnu-table {
  width: 100%; border-collapse: collapse; font-size: 12px;
}
#p-storno-uebersicht .stnu-table th {
  text-align: left; padding: var(--space-2) var(--space-3); color: var(--tx3); font-weight: 500;
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  background: var(--sur2); border-bottom: 1px solid rgba(255,255,255,.06);
}
#p-storno-uebersicht .stnu-table td {
  padding: 9px var(--space-3); border-bottom: 1px solid rgba(255,255,255,.04);
  color: var(--tx2); font-family: 'DM Mono', monospace; font-size: 11.5px;
  vertical-align: top;
}
#p-storno-uebersicht .stnu-table tr.stnu-row { cursor: pointer; }
#p-storno-uebersicht .stnu-table tr.stnu-row:hover { background: var(--sur2); }
#p-storno-uebersicht .stnu-empty {
  text-align: center; padding: 22px; color: var(--tx3); font-style: italic;
}

/* Status-Pills (klein, ohne Gold-Lärm) */
#p-storno-uebersicht .stnu-pill {
  display: inline-block; padding: 2px var(--space-2); border-radius: 3px;
  font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em; font-family: 'DM Mono', monospace;
}
#p-storno-uebersicht .stnu-pill-open         { background: rgba(245,158,11,.15); color: #f59e0b; }
#p-storno-uebersicht .stnu-pill-under_review { background: rgba(213,217,96,.18); color: var(--ac); }
#p-storno-uebersicht .stnu-pill-accepted     { background: rgba(122,128,36,.22); color: var(--ac); }
#p-storno-uebersicht .stnu-pill-partial      { background: rgba(245,158,11,.12); color: #f59e0b; }
#p-storno-uebersicht .stnu-pill-rejected     { background: rgba(248,113,113,.12); color: var(--ac4); }

#p-storno-uebersicht .stnu-row-open-btn {
  background: none; border: 1px solid rgba(255,255,255,.10);
  color: var(--tx2); padding: 3px 9px; border-radius: 3px; cursor: pointer;
  font-size: 11px; font-family: inherit;
}
#p-storno-uebersicht .stnu-row-open-btn:hover { color: var(--ac); border-color: var(--ac); }

/* ─── Detail-Ansicht ───────────────────────────────────────── */
#p-storno-uebersicht .stnu-detail-view[hidden] { display: none; }
#p-storno-uebersicht .stnu-detail-head {
  display: flex; align-items: center; gap: var(--space-3);
  margin-bottom: var(--space-4);
}
#p-storno-uebersicht .stnu-detail-id {
  font-family: 'DM Mono', monospace; font-size: 12px; color: var(--tx3);
}
#p-storno-uebersicht .stnu-detail-status { margin-left: auto; }

#p-storno-uebersicht .stnu-detail-grid {
  display: grid; grid-template-columns: 1fr 320px; gap: var(--space-4);
}
@media (max-width: 880px) {
  #p-storno-uebersicht .stnu-detail-grid { grid-template-columns: 1fr; }
}

#p-storno-uebersicht .stnu-detail-card {
  background: var(--sur); padding: 18px 20px; border-radius: var(--radius-md);
  margin-bottom: var(--space-3);
}
#p-storno-uebersicht .stnu-detail-card h3 {
  font-size: 13px; font-weight: 600; margin: 0 0 var(--space-3) 0;
}
#p-storno-uebersicht .stnu-detail-card h4 {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); margin: var(--space-4) 0 6px 0; font-weight: 600;
}

#p-storno-uebersicht .stnu-kv {
  display: grid; grid-template-columns: 130px 1fr; gap: 6px var(--space-3);
  margin: 0; padding: 0; font-size: 12px;
}
#p-storno-uebersicht .stnu-kv dt {
  color: var(--tx3); font-size: 11px;
}
#p-storno-uebersicht .stnu-kv dd {
  margin: 0; color: var(--tx); font-family: 'DM Mono', monospace; font-size: 11.5px;
}

#p-storno-uebersicht .stnu-det-details {
  font-size: 12.5px; color: var(--tx2); line-height: 1.55;
  white-space: pre-wrap; margin: 0;
}

#p-storno-uebersicht .stnu-doc-table {
  width: 100%; border-collapse: collapse; font-size: 11.5px;
}
#p-storno-uebersicht .stnu-doc-table th {
  text-align: left; padding: 6px var(--space-2); color: var(--tx3); font-weight: 500;
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
#p-storno-uebersicht .stnu-doc-table td {
  padding: 5px var(--space-2); border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: 'DM Mono', monospace; color: var(--tx2);
}

/* Admin-Action-Box */
#p-storno-uebersicht .stnu-side-hint {
  font-size: 11px; color: var(--tx3); margin: 0 0 var(--space-3) 0; font-style: italic;
}
#p-storno-uebersicht .stnu-action-field {
  display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: 10px;
}
#p-storno-uebersicht .stnu-action-field span {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); font-weight: 600;
}
#p-storno-uebersicht .stnu-action-field input,
#p-storno-uebersicht .stnu-action-field textarea {
  padding: 6px 10px; background: var(--bg);
  border: 1px solid rgba(255,255,255,.10); border-radius: var(--radius-sm);
  color: var(--tx); font-family: inherit; font-size: 12px;
}
#p-storno-uebersicht .stnu-action-field input:focus,
#p-storno-uebersicht .stnu-action-field textarea:focus {
  outline: none; border-color: var(--ac);
}
#p-storno-uebersicht .stnu-action-btns {
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 10px;
}
#p-storno-uebersicht .stnu-btn-action {
  padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); border: 1px solid rgba(255,255,255,.10);
  background: var(--bg); color: var(--tx); cursor: pointer;
  font-size: 11.5px; font-family: inherit;
}
#p-storno-uebersicht .stnu-btn-action:hover { background: var(--sur2); }
#p-storno-uebersicht .stnu-btn-accept  { border-color: rgba(122,128,36,.40); color: var(--ac); }
#p-storno-uebersicht .stnu-btn-accept:hover  { background: rgba(122,128,36,.10); }
#p-storno-uebersicht .stnu-btn-partial { border-color: rgba(245,158,11,.40); color: #f59e0b; }
#p-storno-uebersicht .stnu-btn-partial:hover { background: rgba(245,158,11,.08); }
#p-storno-uebersicht .stnu-btn-reject  { border-color: rgba(248,113,113,.40); color: var(--ac4); }
#p-storno-uebersicht .stnu-btn-reject:hover  { background: rgba(248,113,113,.08); }
#p-storno-uebersicht .stnu-btn-review { grid-column: 1 / -1; }

/* Dialfire-Stats (2026-05-24) — Daten-Empfang aus Dialfire + Schnell-Kalkulator-Basis */

#p-dialfire-stats {
  padding: 18px 22px; color: var(--tx);
}
#p-dialfire-stats .dfst-wrap { max-width: 1240px; margin: 0 auto; }

/* Header */
#p-dialfire-stats .dfst-head {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: var(--space-4); flex-wrap: wrap; margin-bottom: 20px;
}
#p-dialfire-stats .dfst-head h1 {
  font-size: 22px; font-weight: 600; margin: 0 0 var(--space-1) 0;
  letter-spacing: -0.01em;
}
#p-dialfire-stats .dfst-sub { font-size: 12px; color: var(--tx3); margin: 0; }
#p-dialfire-stats .dfst-source {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: 11px; color: var(--tx2);
  padding: 6px var(--space-3); background: var(--sur); border-radius: var(--radius-sm);
}
#p-dialfire-stats .dfst-pulse {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--tx3); flex-shrink: 0;
}
#p-dialfire-stats .dfst-source.is-live .dfst-pulse {
  background: var(--ac); animation: dfst-pulse 2s ease-in-out infinite;
}
#p-dialfire-stats .dfst-source.is-empty .dfst-pulse { background: #f59e0b; }
@keyframes dfst-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(213,217,96,.6); }
  50% { box-shadow: 0 0 0 6px rgba(213,217,96,0); }
}

/* KPI-Karten */
#p-dialfire-stats .dfst-kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px; margin-bottom: var(--space-5);
}
#p-dialfire-stats .dfst-kpi {
  background: var(--sur); padding: 14px var(--space-4); border-radius: var(--radius-md);
}
#p-dialfire-stats .dfst-kpi-lbl {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--tx3); margin-bottom: var(--space-1);
}
#p-dialfire-stats .dfst-kpi-val {
  font-size: 22px; font-weight: 700; color: var(--tx);
  font-family: 'DM Mono', monospace; line-height: 1.1;
}
#p-dialfire-stats .dfst-kpi-sub {
  font-size: 10px; color: var(--tx3); margin-top: var(--space-1);
  font-family: 'DM Mono', monospace;
}

/* Sections */
#p-dialfire-stats .dfst-section {
  margin-bottom: 28px;
}
#p-dialfire-stats .dfst-section h2 {
  font-size: 13px; font-weight: 600; margin: 0 0 var(--space-3) 0;
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--tx2);
}
#p-dialfire-stats .dfst-h-sub {
  font-weight: 400; color: var(--tx3); text-transform: none;
  letter-spacing: 0; font-size: 11px;
}

/* Outcome-Breakdown */
#p-dialfire-stats .dfst-breakdown {
  display: grid; gap: 6px;
}
#p-dialfire-stats .dfst-bd-row {
  display: grid; grid-template-columns: 160px 1fr 60px;
  align-items: center; gap: 10px; font-size: 12px;
}
#p-dialfire-stats .dfst-bd-lbl { color: var(--tx2); font-family: 'DM Mono', monospace; }
#p-dialfire-stats .dfst-bd-bar-wrap {
  height: 6px; background: var(--sur); border-radius: 3px; overflow: hidden;
}
#p-dialfire-stats .dfst-bd-bar { height: 100%; background: var(--ac); }
#p-dialfire-stats .dfst-bd-bar-termin { background: var(--ac); }
#p-dialfire-stats .dfst-bd-bar-nicht_erreicht { background: #f59e0b; }
#p-dialfire-stats .dfst-bd-bar-kein_interesse { background: var(--ac4); }
#p-dialfire-stats .dfst-bd-bar-wiedervorlage { background: rgba(213,217,96,.5); }
#p-dialfire-stats .dfst-bd-num {
  text-align: right; color: var(--tx); font-family: 'DM Mono', monospace; font-size: 12px;
}

/* Source-Cards */
#p-dialfire-stats .dfst-sources {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
}
@media (max-width: 880px) {
  #p-dialfire-stats .dfst-sources { grid-template-columns: 1fr; }
}
#p-dialfire-stats .dfst-source-card {
  background: var(--sur); padding: 14px 18px; border-radius: var(--radius-md);
}
#p-dialfire-stats .dfst-source-card h3 {
  margin: 0 0 6px 0; font-size: 13px; font-weight: 600;
}
#p-dialfire-stats .dfst-source-card p {
  font-size: 12px; color: var(--tx2); line-height: 1.5; margin: 0 0 10px 0;
}
#p-dialfire-stats .dfst-source-foot {
  font-size: 11px; color: var(--tx3); margin-top: 10px;
}
#p-dialfire-stats .dfst-source-foot a { color: var(--ac); }

/* Webhook-Liste */
#p-dialfire-stats .dfst-webhook-list {
  display: flex; flex-direction: column; gap: 6px;
}
#p-dialfire-stats .dfst-webhook-item {
  display: flex; align-items: center; gap: var(--space-2); padding: 6px var(--space-2);
  background: var(--bg); border-radius: var(--radius-sm); font-size: 11px;
}
#p-dialfire-stats .dfst-webhook-evt {
  color: var(--tx3); min-width: 90px;
  text-transform: uppercase; letter-spacing: 0.04em; font-size: 9px;
}
#p-dialfire-stats .dfst-webhook-url {
  flex: 1; font-family: 'DM Mono', monospace; font-size: 11px;
  color: var(--tx); overflow-x: auto; white-space: nowrap;
}
#p-dialfire-stats .dfst-copy-btn {
  background: none; border: 1px solid rgba(255,255,255,.10);
  color: var(--tx2); padding: 3px 9px; border-radius: 3px;
  cursor: pointer; font-size: 10px; font-family: inherit;
}
#p-dialfire-stats .dfst-copy-btn:hover { color: var(--ac); border-color: var(--ac); }

/* Drop-Zone CSV */
#p-dialfire-stats .dfst-dropzone {
  border: 2px dashed rgba(255,255,255,.14);
  border-radius: var(--radius-md); padding: var(--space-4); background: var(--bg);
  cursor: pointer; text-align: center;
  transition: all 150ms;
}
#p-dialfire-stats .dfst-dropzone:hover,
#p-dialfire-stats .dfst-dropzone:focus {
  border-color: var(--ac); background: rgba(213,217,96,.04);
  outline: none;
}
#p-dialfire-stats .dfst-dropzone.is-dragover {
  border-color: var(--ac); border-style: solid;
  background: rgba(213,217,96,.10);
}
#p-dialfire-stats .dfst-dropzone-inner {
  display: flex; flex-direction: column; align-items: center; gap: var(--space-1);
  pointer-events: none;
}
#p-dialfire-stats .dfst-dropzone-icon { font-size: 22px; opacity: .7; }
#p-dialfire-stats .dfst-dropzone-main { font-size: 12px; color: var(--tx); }
#p-dialfire-stats .dfst-dropzone-sub {
  font-size: 10px; color: var(--tx3); font-family: 'DM Mono', monospace;
}
#p-dialfire-stats .dfst-import-status {
  margin-top: var(--space-2); font-size: 11px; color: var(--tx3);
  font-family: 'DM Mono', monospace;
}

/* Tabellen */
#p-dialfire-stats .dfst-table {
  width: 100%; border-collapse: collapse; font-size: 11.5px;
  background: var(--sur); border-radius: var(--radius-md); overflow: hidden;
}
#p-dialfire-stats .dfst-table th {
  text-align: left; padding: var(--space-2) 10px; color: var(--tx3); font-weight: 500;
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  background: var(--sur2);
}
#p-dialfire-stats .dfst-table td {
  padding: 6px 10px; border-bottom: 1px solid rgba(255,255,255,.04);
  font-family: 'DM Mono', monospace; color: var(--tx2);
}
#p-dialfire-stats .dfst-empty {
  text-align: center; padding: 22px; color: var(--tx3); font-style: italic;
}
#p-dialfire-stats .dfst-out-pill {
  display: inline-block; padding: 1px 7px; border-radius: 3px;
  font-size: 10px; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em;
}
#p-dialfire-stats .dfst-out-termin { background: rgba(122,128,36,.22); color: var(--ac); }
#p-dialfire-stats .dfst-out-nicht_erreicht { background: rgba(245,158,11,.15); color: #f59e0b; }
#p-dialfire-stats .dfst-out-kein_interesse { background: rgba(248,113,113,.12); color: var(--ac4); }
#p-dialfire-stats .dfst-out-wiedervorlage { background: rgba(213,217,96,.12); color: var(--ac); }
#p-dialfire-stats .dfst-out-andere { background: var(--sur2); color: var(--tx3); }

/* Repowering · Daten-Check (Stufe 1) — Superadmin-Tool.
   Layout-Pattern wie Pipeline: slim Breadcrumb, Header-Card mit Stats +
   Filter-Pills + Action-Icons, Filter-Bar, Tabelle mit Inline-Expand.

   Viewport-fit-Layout (2026-05-15, feedback_viewport_fit_layout):
   - Page-Höhe = Viewport minus Header
   - Wizard-Wrap füllt verfügbaren Platz mit flex-column
   - Aktiver wz-step scrollt INTERNAL bei langem Inhalt — Page selbst scrollt nicht
*/
#p-repowering-data-check.page.active, #p-repowering-data-csv.page.active, #p-repowering-data-mastr.page.active, #p-repowering-pipeline-freigabe.page.active{
  height:calc(100vh - var(--hh));
  min-height:0;
  padding: 18px 28px;
  display:flex;flex-direction:column;
  overflow:hidden;
  box-sizing:border-box
}
#p-repowering-data-check .wz-wrap, #p-repowering-data-csv .wz-wrap, #p-repowering-data-mastr .wz-wrap, #p-repowering-pipeline-freigabe .wz-wrap{
  flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden
}
#p-repowering-data-check .wz-step.on, #p-repowering-data-csv .wz-step.on, #p-repowering-data-mastr .wz-step.on, #p-repowering-pipeline-freigabe .wz-step.on{
  flex:1;min-height:0;overflow-y:auto;
  /* etwas Innenpadding damit der Scroll nicht direkt am Rand klebt */
  padding-bottom:8px
}

/* ── Breadcrumb (wie Pipeline) ───────────────────────────────────────── */
#p-repowering-data-check .rdc-crumb, #p-repowering-data-csv .rdc-crumb, #p-repowering-data-mastr .rdc-crumb, #p-repowering-pipeline-freigabe .rdc-crumb{
  display:flex;align-items:center;gap: var(--space-2);flex-wrap:wrap;
  padding: 6px 2px 14px;font-size:12px;color:var(--tx2);line-height:1.4
}
#p-repowering-data-check .rdc-crumb-eyebrow, #p-repowering-data-csv .rdc-crumb-eyebrow, #p-repowering-data-mastr .rdc-crumb-eyebrow, #p-repowering-pipeline-freigabe .rdc-crumb-eyebrow{
  text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;
  color:var(--ac);font-weight:500
}
#p-repowering-data-check .rdc-crumb-eyebrow .rdc-crumb-dot, #p-repowering-data-csv .rdc-crumb-eyebrow .rdc-crumb-dot, #p-repowering-data-mastr .rdc-crumb-eyebrow .rdc-crumb-dot, #p-repowering-pipeline-freigabe .rdc-crumb-eyebrow .rdc-crumb-dot{margin: 0 2px;opacity:.7}
#p-repowering-data-check .rdc-crumb-dot, #p-repowering-data-csv .rdc-crumb-dot, #p-repowering-data-mastr .rdc-crumb-dot, #p-repowering-pipeline-freigabe .rdc-crumb-dot{color:var(--tx3);font-style:normal;font-size:13px;line-height:1}
#p-repowering-data-check .rdc-crumb-title, #p-repowering-data-csv .rdc-crumb-title, #p-repowering-data-mastr .rdc-crumb-title, #p-repowering-pipeline-freigabe .rdc-crumb-title{color:var(--tx);font-size:13px}
#p-repowering-data-check .rdc-crumb-title i, #p-repowering-data-csv .rdc-crumb-title i, #p-repowering-data-mastr .rdc-crumb-title i, #p-repowering-pipeline-freigabe .rdc-crumb-title i{
  font-family:'Crimson Text','Charter','Georgia',serif;
  font-style:italic;font-size:15px;font-weight:400;color:var(--ac)
}
#p-repowering-data-check .rdc-crumb-dash, #p-repowering-data-csv .rdc-crumb-dash, #p-repowering-data-mastr .rdc-crumb-dash, #p-repowering-pipeline-freigabe .rdc-crumb-dash{color:var(--tx3);font-style:normal;margin: 0 var(--space-1)}
#p-repowering-data-check .rdc-crumb-info, #p-repowering-data-csv .rdc-crumb-info, #p-repowering-data-mastr .rdc-crumb-info, #p-repowering-pipeline-freigabe .rdc-crumb-info{
  background:transparent;border:0;padding: 2px;color:var(--tx3);
  cursor:help;display:inline-flex;align-items:center;border-radius:50%
}
#p-repowering-data-check .rdc-crumb-info svg, #p-repowering-data-csv .rdc-crumb-info svg, #p-repowering-data-mastr .rdc-crumb-info svg, #p-repowering-pipeline-freigabe .rdc-crumb-info svg{width:14px;height:14px}
#p-repowering-data-check .rdc-crumb-info:hover, #p-repowering-data-csv .rdc-crumb-info:hover, #p-repowering-data-mastr .rdc-crumb-info:hover, #p-repowering-pipeline-freigabe .rdc-crumb-info:hover{color:var(--ac)}

/* ── Header-Row: KPI-Chips · Filter-Pills · Action-Icons ─────────────── */
#p-repowering-data-check .rdc-head, #p-repowering-data-csv .rdc-head, #p-repowering-data-mastr .rdc-head, #p-repowering-pipeline-freigabe .rdc-head{
  display:flex;align-items:center;gap: 18px;flex-wrap:wrap;
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 10px 14px;margin-bottom:10px
}
#p-repowering-data-check .rdc-stats, #p-repowering-data-csv .rdc-stats, #p-repowering-data-mastr .rdc-stats, #p-repowering-pipeline-freigabe .rdc-stats{
  display:flex;align-items:stretch;gap: var(--space-3);flex-wrap:wrap
}
/* KPI-Chips schlicht — User-Wunsch 2026-05-15: keine Farben, nur Zahlen.
   Warn-Signal kommt über die Filter-Pills weiter unten (Fehlerhaft rot). */
#p-repowering-data-check .rdc-stat, #p-repowering-data-csv .rdc-stat, #p-repowering-data-mastr .rdc-stat, #p-repowering-pipeline-freigabe .rdc-stat{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap: 1px;
  padding: 6px 14px;
  font-size:11px;color:var(--tx3);white-space:nowrap;
  cursor:help;line-height:1.2
}
#p-repowering-data-check .rdc-stat b, #p-repowering-data-csv .rdc-stat b, #p-repowering-data-mastr .rdc-stat b, #p-repowering-pipeline-freigabe .rdc-stat b{
  font-family:'DM Mono',monospace;font-size:18px;font-weight:600;
  color:var(--tx);line-height:1
}
#p-repowering-data-check .rdc-stat em, #p-repowering-data-csv .rdc-stat em, #p-repowering-data-mastr .rdc-stat em, #p-repowering-pipeline-freigabe .rdc-stat em{
  font-style:normal;text-transform:uppercase;letter-spacing:.06em;
  font-size:9.5px;color:var(--tx3);font-weight:500
}

/* Filter-Pills */
#p-repowering-data-check .rdc-fpills, #p-repowering-data-csv .rdc-fpills, #p-repowering-data-mastr .rdc-fpills, #p-repowering-pipeline-freigabe .rdc-fpills{
  display:flex;align-items:center;gap: var(--space-1);flex-wrap:wrap;flex:1;min-width:0
}
#p-repowering-data-check .rdc-fpill, #p-repowering-data-csv .rdc-fpill, #p-repowering-data-mastr .rdc-fpill, #p-repowering-pipeline-freigabe .rdc-fpill{
  display:inline-flex;align-items:center;gap: 6px;
  padding: 5px 11px;border:0;background:transparent;border-radius: 8px;
  font-size:11.5px;color:var(--tx2);cursor:pointer;font-family:inherit;
  transition:all .12s
}
#p-repowering-data-check .rdc-fpill:hover, #p-repowering-data-csv .rdc-fpill:hover, #p-repowering-data-mastr .rdc-fpill:hover, #p-repowering-pipeline-freigabe .rdc-fpill:hover{background:var(--sur2);color:var(--tx)}
/* Aktive Filter dezenter (User-Wunsch 2026-05-15): nur Hintergrund-Tönung
   statt voll-akzentfarben. Ausnahme: "Fehlerhaft" und "Geschlossen"
   bleiben prominent rot (Warn-Signal). */
#p-repowering-data-check .rdc-fpill.on, #p-repowering-data-csv .rdc-fpill.on, #p-repowering-data-mastr .rdc-fpill.on, #p-repowering-pipeline-freigabe .rdc-fpill.on{
  background:var(--sur2);color:var(--tx);font-weight:500;
  box-shadow:inset 0 0 0 1px var(--bd2)
}
#p-repowering-data-check .rdc-fpill.on .rdc-fpill-cnt, #p-repowering-data-csv .rdc-fpill.on .rdc-fpill-cnt, #p-repowering-data-mastr .rdc-fpill.on .rdc-fpill-cnt, #p-repowering-pipeline-freigabe .rdc-fpill.on .rdc-fpill-cnt{color:var(--tx2)}
#p-repowering-data-check .rdc-fpill.is-warn, #p-repowering-data-csv .rdc-fpill.is-warn, #p-repowering-data-mastr .rdc-fpill.is-warn, #p-repowering-pipeline-freigabe .rdc-fpill.is-warn{color:var(--ac4)}
#p-repowering-data-check .rdc-fpill.is-warn.on, #p-repowering-data-csv .rdc-fpill.is-warn.on, #p-repowering-data-mastr .rdc-fpill.is-warn.on, #p-repowering-pipeline-freigabe .rdc-fpill.is-warn.on{background:var(--ac4);color:#fff;box-shadow:none}
#p-repowering-data-check .rdc-fpill.is-warn.on .rdc-fpill-cnt, #p-repowering-data-csv .rdc-fpill.is-warn.on .rdc-fpill-cnt, #p-repowering-data-mastr .rdc-fpill.is-warn.on .rdc-fpill-cnt, #p-repowering-pipeline-freigabe .rdc-fpill.is-warn.on .rdc-fpill-cnt{color:rgba(255,255,255,.8)}
#p-repowering-data-check .rdc-fpill-cnt, #p-repowering-data-csv .rdc-fpill-cnt, #p-repowering-data-mastr .rdc-fpill-cnt, #p-repowering-pipeline-freigabe .rdc-fpill-cnt{
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3);font-weight:400
}

/* Action-Icons rechts (Run + Reload) */
#p-repowering-data-check .rdc-actions, #p-repowering-data-csv .rdc-actions, #p-repowering-data-mastr .rdc-actions, #p-repowering-pipeline-freigabe .rdc-actions{
  display:flex;align-items:center;gap: var(--space-2);flex-shrink:0
}
#p-repowering-data-check .rdc-icon, #p-repowering-data-csv .rdc-icon, #p-repowering-data-mastr .rdc-icon, #p-repowering-pipeline-freigabe .rdc-icon{
  display:inline-flex;align-items:center;justify-content:center;gap: 6px;
  height:32px;padding: 0 var(--space-3);border-radius: 7px;
  background:transparent;border:1px solid var(--bd);color:var(--tx2);
  cursor:pointer;transition:all .12s;font-family:inherit;font-size:11.5px
}
#p-repowering-data-check .rdc-icon svg, #p-repowering-data-csv .rdc-icon svg, #p-repowering-data-mastr .rdc-icon svg, #p-repowering-pipeline-freigabe .rdc-icon svg{width:14px;height:14px}
#p-repowering-data-check .rdc-icon:hover, #p-repowering-data-csv .rdc-icon:hover, #p-repowering-data-mastr .rdc-icon:hover, #p-repowering-pipeline-freigabe .rdc-icon:hover{background:var(--sur2);color:var(--tx);border-color:var(--bd2)}
#p-repowering-data-check .rdc-icon:disabled, #p-repowering-data-csv .rdc-icon:disabled, #p-repowering-data-mastr .rdc-icon:disabled, #p-repowering-pipeline-freigabe .rdc-icon:disabled{opacity:.55;cursor:wait}
/* Recheck-Buttons (Voll + Diff): dezent in tx3/Sur2-Tönen — nicht der
   primäre Workflow-Schritt. Hauptaktion ist "→ In Pipeline (Stufe 3)". */
#p-repowering-data-check .rdc-icon-recheck, #p-repowering-data-csv .rdc-icon-recheck, #p-repowering-data-mastr .rdc-icon-recheck, #p-repowering-pipeline-freigabe .rdc-icon-recheck{
  background:transparent;border-color:var(--bd);color:var(--tx2);font-weight:400
}
#p-repowering-data-check .rdc-icon-recheck:hover, #p-repowering-data-csv .rdc-icon-recheck:hover, #p-repowering-data-mastr .rdc-icon-recheck:hover, #p-repowering-pipeline-freigabe .rdc-icon-recheck:hover{
  background:var(--sur2);border-color:var(--bd2);color:var(--tx)
}

/* Export- und Reload-Icons: kompakter, sauberer Hover, smooth Spin */
#p-repowering-data-check .rdc-icon-export, #p-repowering-data-csv .rdc-icon-export, #p-repowering-data-mastr .rdc-icon-export, #p-repowering-pipeline-freigabe .rdc-icon-export,
#p-repowering-data-check .rdc-icon-reload, #p-repowering-data-csv .rdc-icon-reload, #p-repowering-data-mastr .rdc-icon-reload, #p-repowering-pipeline-freigabe .rdc-icon-reload{
  width:36px;padding: 0;display:inline-flex;align-items:center;justify-content:center;
  background:transparent;border-color:var(--bd);color:var(--tx2)
}
#p-repowering-data-check .rdc-icon-export:hover, #p-repowering-data-csv .rdc-icon-export:hover, #p-repowering-data-mastr .rdc-icon-export:hover, #p-repowering-pipeline-freigabe .rdc-icon-export:hover,
#p-repowering-data-check .rdc-icon-reload:hover, #p-repowering-data-csv .rdc-icon-reload:hover, #p-repowering-data-mastr .rdc-icon-reload:hover, #p-repowering-pipeline-freigabe .rdc-icon-reload:hover{
  background:var(--sur2);border-color:var(--bd2);color:var(--ac)
}
#p-repowering-data-check .rdc-icon-reload svg, #p-repowering-data-csv .rdc-icon-reload svg, #p-repowering-data-mastr .rdc-icon-reload svg, #p-repowering-pipeline-freigabe .rdc-icon-reload svg{transition:transform .35s ease}
#p-repowering-data-check .rdc-icon-reload:hover svg, #p-repowering-data-csv .rdc-icon-reload:hover svg, #p-repowering-data-mastr .rdc-icon-reload:hover svg, #p-repowering-pipeline-freigabe .rdc-icon-reload:hover svg{transform:rotate(180deg)}
#p-repowering-data-check .rdc-icon-reload:active svg, #p-repowering-data-csv .rdc-icon-reload:active svg, #p-repowering-data-mastr .rdc-icon-reload:active svg, #p-repowering-pipeline-freigabe .rdc-icon-reload:active svg{transform:rotate(360deg);transition:transform .6s ease}
/* Reset-Button: prominenter als die kleinen Icon-Buttons, in Warn-Farbe
   damit klar ist „Daten werden gelöscht". Steht rechts neben Reload. */
#p-repowering-data-check .rdc-icon-reset, #p-repowering-data-csv .rdc-icon-reset, #p-repowering-data-mastr .rdc-icon-reset, #p-repowering-pipeline-freigabe .rdc-icon-reset{
  background:rgba(190,140,80,.10);border-color:var(--ac4);color:var(--ac4);
  font-weight:500
}
#p-repowering-data-check .rdc-icon-reset:hover, #p-repowering-data-csv .rdc-icon-reset:hover, #p-repowering-data-mastr .rdc-icon-reset:hover, #p-repowering-pipeline-freigabe .rdc-icon-reset:hover{
  background:var(--ac4);border-color:var(--ac4);color:#fff
}
/* Alles & Pipeline — prominenter "Erledigt + weiter" Button rechts.
   Akzent-Farbe (grün), damit der finale Schritt visuell heraussticht. */
#p-repowering-data-check .rdc-icon-pipeline, #p-repowering-data-csv .rdc-icon-pipeline, #p-repowering-data-mastr .rdc-icon-pipeline, #p-repowering-pipeline-freigabe .rdc-icon-pipeline{
  background:var(--ac);border-color:var(--ac);color:#fff;
  font-weight:500
}
#p-repowering-data-check .rdc-icon-pipeline:hover, #p-repowering-data-csv .rdc-icon-pipeline:hover, #p-repowering-data-mastr .rdc-icon-pipeline:hover, #p-repowering-pipeline-freigabe .rdc-icon-pipeline:hover{
  background:var(--ac);border-color:var(--ac);color:#fff;opacity:.92
}

/* Übernommen-Hinweis in der Detail-Row (statt der Übernehmen-Buttons,
   sobald ein Vorschlag in den Overrides liegt) */
#p-repowering-data-check .rdc-applied-hint, #p-repowering-data-csv .rdc-applied-hint, #p-repowering-data-mastr .rdc-applied-hint, #p-repowering-pipeline-freigabe .rdc-applied-hint{
  display:inline-flex;align-items:center;gap: 5px;
  font-size:11px;color:#1c7344;
  background:rgba(45,191,108,.10);border:1px solid rgba(45,191,108,.30);
  padding: 3px 9px;border-radius: 5px;font-weight:500
}
#p-repowering-data-check .rdc-icon-spin, #p-repowering-data-csv .rdc-icon-spin, #p-repowering-data-mastr .rdc-icon-spin, #p-repowering-pipeline-freigabe .rdc-icon-spin{
  display:inline-block;animation:rdc-spin 1s linear infinite
}
@keyframes rdc-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
#p-repowering-data-check .rdc-rolehint, #p-repowering-data-csv .rdc-rolehint, #p-repowering-data-mastr .rdc-rolehint, #p-repowering-pipeline-freigabe .rdc-rolehint{
  font-size:11.5px;color:var(--tx3);
  padding: 7px var(--space-3);background:rgba(86,107,134,.08);border-radius:6px
}

/* ── Filter-Bar: Suche + Check-Filter ────────────────────────────────── */
#p-repowering-data-check .rdc-filters, #p-repowering-data-csv .rdc-filters, #p-repowering-data-mastr .rdc-filters, #p-repowering-pipeline-freigabe .rdc-filters{
  display:flex;align-items:center;gap: 10px;margin-bottom: var(--space-2);flex-wrap:wrap
}
#p-repowering-data-check .rdc-search, #p-repowering-data-csv .rdc-search, #p-repowering-data-mastr .rdc-search, #p-repowering-pipeline-freigabe .rdc-search{
  flex:1;min-width:260px;position:relative;display:flex;align-items:center
}
#p-repowering-data-check .rdc-search svg, #p-repowering-data-csv .rdc-search svg, #p-repowering-data-mastr .rdc-search svg, #p-repowering-pipeline-freigabe .rdc-search svg{
  position:absolute;left:12px;width:14px;height:14px;color:var(--tx3);
  pointer-events:none
}
#p-repowering-data-check .rdc-search input, #p-repowering-data-csv .rdc-search input, #p-repowering-data-mastr .rdc-search input, #p-repowering-pipeline-freigabe .rdc-search input{
  width:100%;background:var(--sur);border:1px solid var(--bd);
  border-radius: 8px;padding: 9px var(--space-3) 9px 34px;
  font-size:12.5px;font-family:inherit;color:var(--tx);outline:none;
  transition:border-color .12s
}
#p-repowering-data-check .rdc-search input::placeholder, #p-repowering-data-csv .rdc-search input::placeholder, #p-repowering-data-mastr .rdc-search input::placeholder, #p-repowering-pipeline-freigabe .rdc-search input::placeholder{color:var(--tx3)}
#p-repowering-data-check .rdc-search input:focus, #p-repowering-data-csv .rdc-search input:focus, #p-repowering-data-mastr .rdc-search input:focus, #p-repowering-pipeline-freigabe .rdc-search input:focus{border-color:var(--ac)}
#p-repowering-data-check .rdc-select, #p-repowering-data-csv .rdc-select, #p-repowering-data-mastr .rdc-select, #p-repowering-pipeline-freigabe .rdc-select{
  background:var(--sur);border:1px solid var(--bd);color:var(--tx2);
  border-radius: 8px;padding: 9px 28px 9px var(--space-3);
  font-size:12px;font-family:inherit;outline:none;cursor:pointer;
  min-width:180px;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'><path d='M2 3.5l3 3 3-3' stroke='%23999' stroke-width='1.4' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center
}
#p-repowering-data-check .rdc-select:focus, #p-repowering-data-csv .rdc-select:focus, #p-repowering-data-mastr .rdc-select:focus, #p-repowering-pipeline-freigabe .rdc-select:focus{border-color:var(--ac)}

/* ── Konzept-Block (ausklappbar oben) ────────────────────────────────── */
#p-repowering-data-check .rdc-concept, #p-repowering-data-csv .rdc-concept, #p-repowering-data-mastr .rdc-concept, #p-repowering-pipeline-freigabe .rdc-concept{
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  padding: var(--space-2) 14px;margin-bottom:10px
}
#p-repowering-data-check .rdc-concept summary, #p-repowering-data-csv .rdc-concept summary, #p-repowering-data-mastr .rdc-concept summary, #p-repowering-pipeline-freigabe .rdc-concept summary{
  font-size:10.5px;color:var(--tx3);cursor:pointer;list-style:none;
  text-transform:uppercase;letter-spacing:.08em;padding:4px 0
}
#p-repowering-data-check .rdc-concept summary::-webkit-details-marker, #p-repowering-data-csv .rdc-concept summary::-webkit-details-marker, #p-repowering-data-mastr .rdc-concept summary::-webkit-details-marker, #p-repowering-pipeline-freigabe .rdc-concept summary::-webkit-details-marker{display:none}
#p-repowering-data-check .rdc-concept summary::before, #p-repowering-data-csv .rdc-concept summary::before, #p-repowering-data-mastr .rdc-concept summary::before, #p-repowering-pipeline-freigabe .rdc-concept summary::before{
  content:'▸';margin-right: 6px;display:inline-block;transition:transform .15s
}
#p-repowering-data-check .rdc-concept[open] summary::before, #p-repowering-data-csv .rdc-concept[open] summary::before, #p-repowering-data-mastr .rdc-concept[open] summary::before, #p-repowering-pipeline-freigabe .rdc-concept[open] summary::before{transform:rotate(90deg)}
#p-repowering-data-check .rdc-checklist, #p-repowering-data-csv .rdc-checklist, #p-repowering-data-mastr .rdc-checklist, #p-repowering-pipeline-freigabe .rdc-checklist{
  margin: var(--space-2) 0 var(--space-1);padding-left: 22px;font-size:11.5px;color:var(--tx2);line-height:1.6
}
#p-repowering-data-check .rdc-checklist li, #p-repowering-data-csv .rdc-checklist li, #p-repowering-data-mastr .rdc-checklist li, #p-repowering-pipeline-freigabe .rdc-checklist li{margin-bottom: 3px}
#p-repowering-data-check .rdc-checklist strong, #p-repowering-data-csv .rdc-checklist strong, #p-repowering-data-mastr .rdc-checklist strong, #p-repowering-pipeline-freigabe .rdc-checklist strong{color:var(--tx)}

/* ── Tabellen-Header: Range rechts wie Pipeline ──────────────────────── */
#p-repowering-data-check .rdc-thead, #p-repowering-data-csv .rdc-thead, #p-repowering-data-mastr .rdc-thead, #p-repowering-pipeline-freigabe .rdc-thead{display:flex;align-items:center;gap: 9px}
#p-repowering-data-check .rdc-range, #p-repowering-data-csv .rdc-range, #p-repowering-data-mastr .rdc-range, #p-repowering-pipeline-freigabe .rdc-range{
  margin-left: auto;font-family:'DM Mono',monospace;
  font-size:11px;color:var(--tx3);white-space:nowrap
}

/* ── Tabelle: kompakte Zeilen, klickbar zum Aufklappen ──────────────── */
#p-repowering-data-check .rdc-empty, #p-repowering-data-csv .rdc-empty, #p-repowering-data-mastr .rdc-empty, #p-repowering-pipeline-freigabe .rdc-empty{
  text-align:center;color:var(--tx3);font-size:12px;font-style:italic;
  padding:32px 20px
}
#p-repowering-data-check .rdc-row, #p-repowering-data-csv .rdc-row, #p-repowering-data-mastr .rdc-row, #p-repowering-pipeline-freigabe .rdc-row{cursor:pointer;transition:background .1s}
#p-repowering-data-check .rdc-row:hover, #p-repowering-data-csv .rdc-row:hover, #p-repowering-data-mastr .rdc-row:hover, #p-repowering-pipeline-freigabe .rdc-row:hover{background:var(--sur2)}
#p-repowering-data-check .rdc-row.is-open, #p-repowering-data-csv .rdc-row.is-open, #p-repowering-data-mastr .rdc-row.is-open, #p-repowering-pipeline-freigabe .rdc-row.is-open{background:var(--sur2)}
#p-repowering-data-check .rdc-row td, #p-repowering-data-csv .rdc-row td, #p-repowering-data-mastr .rdc-row td, #p-repowering-pipeline-freigabe .rdc-row td{vertical-align:middle;padding: 9px 10px}
#p-repowering-data-check .rdc-c-firma, #p-repowering-data-csv .rdc-c-firma, #p-repowering-data-mastr .rdc-c-firma, #p-repowering-pipeline-freigabe .rdc-c-firma{font-weight:500;color:var(--tx);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#p-repowering-data-check .rdc-c-ort, #p-repowering-data-csv .rdc-c-ort, #p-repowering-data-mastr .rdc-c-ort, #p-repowering-pipeline-freigabe .rdc-c-ort{color:var(--tx2);font-size:11.5px}
#p-repowering-data-check .rdc-c-score, #p-repowering-data-csv .rdc-c-score, #p-repowering-data-mastr .rdc-c-score, #p-repowering-pipeline-freigabe .rdc-c-score{text-align:right;white-space:nowrap}
#p-repowering-data-check .rdc-c-mini, #p-repowering-data-csv .rdc-c-mini, #p-repowering-data-mastr .rdc-c-mini, #p-repowering-pipeline-freigabe .rdc-c-mini{text-align:center;width:42px}
#p-repowering-data-check .rdc-th-c, #p-repowering-data-csv .rdc-th-c, #p-repowering-data-mastr .rdc-th-c, #p-repowering-pipeline-freigabe .rdc-th-c{text-align:center;width:42px}
#p-repowering-data-check .rdc-c-chev, #p-repowering-data-csv .rdc-c-chev, #p-repowering-data-mastr .rdc-c-chev, #p-repowering-pipeline-freigabe .rdc-c-chev{
  width:24px;color:var(--tx3);text-align:right;
  font-size:14px;line-height:1;padding-right:14px
}

/* Row-ID-Spalte: kleine #-Anzeige für Duplikat-Erkennung */
#p-repowering-data-check .rdc-th-id, #p-repowering-data-csv .rdc-th-id, #p-repowering-data-mastr .rdc-th-id, #p-repowering-pipeline-freigabe .rdc-th-id,
#p-repowering-data-check .rdc-c-id, #p-repowering-data-csv .rdc-c-id, #p-repowering-data-mastr .rdc-c-id, #p-repowering-pipeline-freigabe .rdc-c-id{
  width:68px;text-align:left;
  font-family:'DM Mono',monospace;font-size:10.5px;color:var(--tx3);
  white-space:nowrap;padding-left:14px
}
#p-repowering-data-check .rdc-c-id-upload, #p-repowering-data-csv .rdc-c-id-upload, #p-repowering-data-mastr .rdc-c-id-upload, #p-repowering-pipeline-freigabe .rdc-c-id-upload{
  color:var(--ac);font-weight:500
}
#p-repowering-data-check .rdc-row:hover .rdc-c-chev, #p-repowering-data-csv .rdc-row:hover .rdc-c-chev, #p-repowering-data-mastr .rdc-row:hover .rdc-c-chev, #p-repowering-pipeline-freigabe .rdc-row:hover .rdc-c-chev{color:var(--ac)}

/* Score-Pill in der Zeile */
#p-repowering-data-check .rdc-score-pill, #p-repowering-data-csv .rdc-score-pill, #p-repowering-data-mastr .rdc-score-pill, #p-repowering-pipeline-freigabe .rdc-score-pill{
  display:inline-block;padding: 2px 9px;border-radius: 11px;
  font-size:10.5px;font-weight:500;font-family:'DM Mono',monospace;white-space:nowrap
}

/* Anlagen-am-Standort Badge (MaStR-Pool) — dezent ohne Hintergrund */
#p-repowering-data-mastr .rdc-anl-badge{
  font-family:'DM Mono',monospace;font-size:12px;color:var(--tx2);
  cursor:help
}

/* Branchen-Multi-Select (2026-05-20) */
#p-repowering-data-mastr .rdmastr-branchen-block{
  margin-top: 14px;padding: var(--space-3) 14px;
  background:var(--sur2);border-radius: 8px;border:1px solid var(--bd)
}
#p-repowering-data-mastr .rdmastr-branchen-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px
}
#p-repowering-data-mastr .rdmastr-branchen-title{
  font-size:13px;font-weight:500;color:var(--tx)
}
#p-repowering-data-mastr .rdmastr-branchen-hint{
  font-size:11px;color:var(--tx3);font-weight:400;margin-left:4px
}
#p-repowering-data-mastr .rdmastr-branchen-toggle{
  background:transparent;border:0;color:var(--ac);cursor:pointer;
  font-size:14px;padding: 2px var(--space-2);line-height:1;
  transition:transform .15s
}
#p-repowering-data-mastr .rdmastr-branchen-toggle[aria-expanded="false"]{
  transform:rotate(-90deg)
}
#p-repowering-data-mastr .rdmastr-branchen-toggle:hover{color:var(--tx)}
#p-repowering-data-mastr .rdmastr-branchen-list{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px
}
/* hidden gewinnt nicht gegen display:grid — explizite Regel */
#p-repowering-data-mastr .rdmastr-branchen-list[hidden]{display:none}
/* Quick-Buttons "Alle/Keine" rechts neben Toggle-Pfeil */
#p-repowering-data-mastr .rdmastr-branchen-actions{
  display:inline-flex;gap: 6px;align-items:center;margin-right:8px
}
#p-repowering-data-mastr .rdmastr-branchen-actions button{
  background:transparent;border:1px solid var(--bd);color:var(--tx3);
  border-radius: 5px;padding: 3px var(--space-2);font-size:11px;font-family:inherit;
  cursor:pointer;transition:all .12s
}
#p-repowering-data-mastr .rdmastr-branchen-actions button:hover{
  border-color:var(--ac);color:var(--ac)
}
#p-repowering-data-mastr .rdmastr-branchen-list label{
  display:flex;align-items:center;gap: var(--space-2);padding: 5px var(--space-2);
  font-size:12.5px;color:var(--tx2);cursor:pointer;
  border-radius:5px
}
#p-repowering-data-mastr .rdmastr-branchen-list label:hover{
  background:var(--sur3)
}
#p-repowering-data-mastr .rdmastr-branchen-list input[type="checkbox"]{
  accent-color:var(--ac);margin:0
}
#p-repowering-data-mastr .rdmastr-branchen-list .b-count{
  margin-left: auto;font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3)
}

/* Bestand-Anzeige im MaStR-Wizard Step 1 (2026-05-23 neu aufgebaut)
   Zwei Reihen: Anlagen (oben) + Volumen kWp (unten). Klare Pills statt
   ·-Separatoren — die haben in der Wrap-Zeile zusammengeklebt ("Telefonvon"). */
#p-repowering-data-mastr .rdmastr-bestand{
  margin-top: 10px;padding: var(--space-3) 14px;border-radius: 8px;
  background:var(--sur2);font-size:12px;color:var(--tx2);
  display:flex;flex-direction:column;gap: var(--space-2);
}
#p-repowering-data-mastr .rdmastr-bestand .bgrp{
  display:flex;flex-wrap:wrap;align-items:center;gap: 6px 10px;
}
#p-repowering-data-mastr .rdmastr-bestand .bgrp-label{
  font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tx3);min-width:64px;font-weight:600;
}
#p-repowering-data-mastr .rdmastr-bestand .bpill{
  display:inline-flex;align-items:baseline;gap: 5px;
  padding: 2px var(--space-2);border-radius: 3px;background:transparent;
  font-family:'DM Mono',monospace;color:var(--tx2);
}
#p-repowering-data-mastr .rdmastr-bestand .bpill b{
  font-weight:500;color:var(--tx);font-family:'DM Mono',monospace;
}
/* Delta-Pill bleibt dezent farbig — handlungsrelevanter Hinweis nach Import */
#p-repowering-data-mastr .rdmastr-bestand .bpill-delta{
  background:rgba(248,113,113,.08);color:var(--ac4);
}
#p-repowering-data-mastr .rdmastr-bestand .bpill-delta b{ color:var(--ac4) }
#p-repowering-data-mastr .rdmastr-bestand .bgrp-total{
  margin-left: auto;color:var(--tx3);font-size:11px;font-family:'DM Mono',monospace;
}

/* Bestand-pro-Jahr-Tabelle (2026-05-29) — einklappbar, default zu.
   Fett = mit Telefon, grau-suffix = ohne Telefon. */
#p-repowering-data-mastr .rdmastr-bestand .bj-section{
  margin-top: 4px;border-top: 1px dashed rgba(0,0,0,.10);padding-top: var(--space-3);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-section > summary{
  cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--tx3);font-weight:600;list-style: none;
  display:flex;align-items:center;gap: 10px;padding: 2px 0;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-section > summary::-webkit-details-marker{ display:none; }
#p-repowering-data-mastr .rdmastr-bestand .bj-section > summary::before{
  content:'▸';display:inline-block;width: 10px;color:var(--tx3);
  transition: transform .15s;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-section[open] > summary::before{ transform: rotate(90deg); }
#p-repowering-data-mastr .rdmastr-bestand .bj-stand{
  font-size:10.5px;color:var(--tx3);font-weight:400;text-transform:none;letter-spacing:0;
  font-family:'DM Mono',monospace;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-stand-warn{
  color: #d97706;font-weight:500;
}
/* Stand-Warnung bei >30 Tg. — gelb, klickbar zum Import-Tab. */
#p-repowering-data-mastr .rdmastr-bestand .bj-warn{
  margin: var(--space-2) 0 var(--space-3);padding: 8px 12px;border-radius: 6px;
  background: rgba(217,119,6,.08);border-left: 3px solid #d97706;
  font-size: 11.5px;color: #b45309;
  display: flex;justify-content: space-between;align-items: center;gap: 12px;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-warn-link{
  color: #b45309;text-decoration: underline;white-space: nowrap;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-table{
  width: 100%;border-collapse: collapse;font-size:11.5px;
  font-family:'DM Mono',monospace;margin-top: var(--space-2);
}
/* Header Reihe 1 — Klassen-Labels (S/M/L/XL). Größer + Akzent-Farbe,
   damit der Verkaufs-Bezug sofort sichtbar ist. */
#p-repowering-data-mastr .rdmastr-bestand .bj-th-klasse{
  text-align: center;font-size:11.5px;color:var(--ac);
  font-weight:600;letter-spacing:.02em;
  padding: 6px 10px 2px;border-bottom: 1px dashed rgba(180,140,30,.25);
  border-left: 1px solid rgba(0,0,0,.06);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-th-klasse:first-of-type{ border-left:0; }

/* Header Reihe 2 — Bucket-Gruppen (centered, mit Side-Borders zur visuellen
   Gruppierung der jeweils 2 Sub-Spalten "Telefon" + "ohne"). */
#p-repowering-data-mastr .rdmastr-bestand .bj-th-group{
  text-align: center;font-size:10px;color:var(--tx3);
  text-transform:uppercase;letter-spacing:.04em;font-weight:500;
  padding: 2px 10px 2px;border-bottom: 1px solid rgba(0,0,0,.10);
  border-left: 1px solid rgba(0,0,0,.06);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-th-group:first-of-type{ border-left:0; }
/* Header Reihe 2 — Sub-Labels */
#p-repowering-data-mastr .rdmastr-bestand .bj-th-tel,
#p-repowering-data-mastr .rdmastr-bestand .bj-th-ohne{
  text-align: right;font-size:9.5px;color:var(--tx3);font-weight:500;
  padding: 2px 10px 4px;text-transform:uppercase;letter-spacing:.04em;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-th-tel{
  border-left: 1px solid rgba(0,0,0,.06);color: var(--ac);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-th-year,
#p-repowering-data-mastr .rdmastr-bestand .bj-th-sum{
  text-align: left;font-size:10.5px;color:var(--tx3);font-weight:600;
  padding: 4px 10px;border-bottom: 1px solid rgba(0,0,0,.10);
  text-transform:uppercase;letter-spacing:.04em;vertical-align: bottom;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-th-sum{
  text-align: right;border-left: 1px solid rgba(0,0,0,.10);
}
/* Body-Zellen */
#p-repowering-data-mastr .rdmastr-bestand .bj-table td{
  padding: 3px 10px;border-bottom: 1px solid rgba(0,0,0,.04);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-year{
  text-align: left;color: var(--tx2);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-cell-tel{
  text-align: right;color: var(--tx);
  border-left: 1px solid rgba(0,0,0,.06);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-cell-ohne{
  text-align: right;color: var(--tx3);
}
#p-repowering-data-mastr .rdmastr-bestand .bj-cell-sum{
  text-align: right;color: var(--tx);
  border-left: 1px solid rgba(0,0,0,.10);
}
/* Anlagen-Suffix in Klammern — dezent, kleiner. */
#p-repowering-data-mastr .rdmastr-bestand .bj-anl{
  color: var(--tx3);font-size: 9.5px;margin-left: 2px;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-hint{
  font-size:10.5px;color:var(--tx3);margin: var(--space-2) 0 var(--space-2) 18px;
}
#p-repowering-data-mastr .rdmastr-bestand .bj-sum td{
  border-top: 1px solid rgba(0,0,0,.18);border-bottom: 0;
  background: rgba(0,0,0,.025);padding-top: 5px;padding-bottom: 5px;
}

/* Live-Preisbox im MaStR-Wizard (2026-05-23) */
#p-repowering-data-mastr .rdmastr-preis-preview{
  margin-top: 14px;padding: 14px var(--space-4);border-radius: 8px;
  background:linear-gradient(135deg, rgba(213,217,96,.08), rgba(213,217,96,.02));
  border:1px solid rgba(213,217,96,.30);
}
#p-repowering-data-mastr .rdmastr-preis-h{
  font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ac);margin-bottom: 10px;
}
#p-repowering-data-mastr .rdmastr-preis-loading,
#p-repowering-data-mastr .rdmastr-preis-empty,
#p-repowering-data-mastr .rdmastr-preis-err{
  font-size:12px;color:var(--tx3);font-style:italic;
}
#p-repowering-data-mastr .rdmastr-preis-err{color:var(--ac4)}
#p-repowering-data-mastr .rdmastr-preis-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap: 10px;
}
#p-repowering-data-mastr .rdmastr-preis-tier{
  background:var(--sur);border-radius: var(--radius-md);padding: 10px var(--space-3);
  border:1px solid rgba(255,255,255,.06);
}
#p-repowering-data-mastr .rdmastr-preis-tier-h{
  font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--tx3);
  margin-bottom: var(--space-1);
}
#p-repowering-data-mastr .rdmastr-preis-tier-val{
  font-size:18px;font-weight:600;color:var(--ac);font-family:'DM Mono',monospace;
}
#p-repowering-data-mastr .rdmastr-preis-tier-sub{
  font-size:11px;color:var(--tx2);margin-top: 3px;font-family:'DM Mono',monospace;
}
#p-repowering-data-mastr .rdmastr-preis-badge{
  display:inline-block;padding: 1px 6px;border-radius: var(--radius-lg);
  background:rgba(213,217,96,.18);color:var(--ac);font-size:9px;
  text-transform:uppercase;letter-spacing:.04em;font-family:inherit;font-weight:600;
}
#p-repowering-data-mastr .rdmastr-preis-foot{
  margin-top: var(--space-2);font-size:10px;color:var(--tx3);font-style:italic;
}
#p-repowering-data-check .rdc-score-ok      , #p-repowering-data-csv .rdc-score-ok      , #p-repowering-data-mastr .rdc-score-ok      , #p-repowering-pipeline-freigabe .rdc-score-ok      {background:rgba(122,128,36,.15);color:var(--ac)}
#p-repowering-data-check .rdc-score-warn    , #p-repowering-data-csv .rdc-score-warn    , #p-repowering-data-mastr .rdc-score-warn    , #p-repowering-pipeline-freigabe .rdc-score-warn    {background:rgba(245,158,11,.12);color:var(--ac3)}
#p-repowering-data-check .rdc-score-bad     , #p-repowering-data-csv .rdc-score-bad     , #p-repowering-data-mastr .rdc-score-bad     , #p-repowering-pipeline-freigabe .rdc-score-bad     {background:rgba(248,113,113,.10);color:var(--ac4)}
#p-repowering-data-check .rdc-score-pending , #p-repowering-data-csv .rdc-score-pending , #p-repowering-data-mastr .rdc-score-pending , #p-repowering-pipeline-freigabe .rdc-score-pending {background:var(--sur2);color:var(--tx3)}

/* Mini-Indikatoren (4 pro Zeile, einer pro Check) */
#p-repowering-data-check .rdc-mini, #p-repowering-data-csv .rdc-mini, #p-repowering-data-mastr .rdc-mini, #p-repowering-pipeline-freigabe .rdc-mini{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius: 50%;
  font-size:11px;font-weight:600;line-height:1
}
#p-repowering-data-check .rdc-mini-ok      , #p-repowering-data-csv .rdc-mini-ok      , #p-repowering-data-mastr .rdc-mini-ok      , #p-repowering-pipeline-freigabe .rdc-mini-ok      {background:rgba(122,128,36,.15);color:var(--ac)}
#p-repowering-data-check .rdc-mini-warn    , #p-repowering-data-csv .rdc-mini-warn    , #p-repowering-data-mastr .rdc-mini-warn    , #p-repowering-pipeline-freigabe .rdc-mini-warn    {background:rgba(245,158,11,.14);color:var(--ac3)}
#p-repowering-data-check .rdc-mini-bad     , #p-repowering-data-csv .rdc-mini-bad     , #p-repowering-data-mastr .rdc-mini-bad     , #p-repowering-pipeline-freigabe .rdc-mini-bad     {background:rgba(248,113,113,.12);color:var(--ac4)}
#p-repowering-data-check .rdc-mini-skip    , #p-repowering-data-csv .rdc-mini-skip    , #p-repowering-data-mastr .rdc-mini-skip    , #p-repowering-pipeline-freigabe .rdc-mini-skip    {background:transparent;color:var(--tx3);font-size:13px}
#p-repowering-data-check .rdc-mini-pending , #p-repowering-data-csv .rdc-mini-pending , #p-repowering-data-mastr .rdc-mini-pending , #p-repowering-pipeline-freigabe .rdc-mini-pending {background:var(--sur2);color:var(--tx3)}

/* Detail-Zeile (eingeklappt unter der Row, colspan=8) */
#p-repowering-data-check .rdc-detail-row td, #p-repowering-data-csv .rdc-detail-row td, #p-repowering-data-mastr .rdc-detail-row td, #p-repowering-pipeline-freigabe .rdc-detail-row td{
  background:var(--sur2);padding: 14px 14px var(--space-4);border-top:0
}
#p-repowering-data-check .rdc-detail, #p-repowering-data-csv .rdc-detail, #p-repowering-data-mastr .rdc-detail, #p-repowering-pipeline-freigabe .rdc-detail{display:flex;flex-direction:column;gap: 10px}
#p-repowering-data-check .rdc-detail-grid, #p-repowering-data-csv .rdc-detail-grid, #p-repowering-data-mastr .rdc-detail-grid, #p-repowering-pipeline-freigabe .rdc-detail-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:10px
}

/* Detail-Banner: prominenter Hinweis im aufgeklappten Block oben */
#p-repowering-data-check .rdc-detail-banner, #p-repowering-data-csv .rdc-detail-banner, #p-repowering-data-mastr .rdc-detail-banner, #p-repowering-pipeline-freigabe .rdc-detail-banner{
  padding: 9px 14px;border-radius: 7px;font-size:12px;line-height:1.45;
  border-left:4px solid;color:var(--tx)
}
#p-repowering-data-check .rdc-detail-banner strong, #p-repowering-data-csv .rdc-detail-banner strong, #p-repowering-data-mastr .rdc-detail-banner strong, #p-repowering-pipeline-freigabe .rdc-detail-banner strong{font-weight:600}
#p-repowering-data-check .rdc-detail-banner em, #p-repowering-data-csv .rdc-detail-banner em, #p-repowering-data-mastr .rdc-detail-banner em, #p-repowering-pipeline-freigabe .rdc-detail-banner em{font-style:normal;font-weight:500;padding: 0 var(--space-1);border-radius: var(--radius-sm);background:rgba(0,0,0,.08)}
#p-repowering-data-check .rdc-detail-banner.is-closed, #p-repowering-data-csv .rdc-detail-banner.is-closed, #p-repowering-data-mastr .rdc-detail-banner.is-closed, #p-repowering-pipeline-freigabe .rdc-detail-banner.is-closed{
  background:rgba(248,113,113,.10);border-left-color:var(--ac4);color:var(--ac4)
}
#p-repowering-data-check .rdc-detail-banner.is-paused, #p-repowering-data-csv .rdc-detail-banner.is-paused, #p-repowering-data-mastr .rdc-detail-banner.is-paused, #p-repowering-pipeline-freigabe .rdc-detail-banner.is-paused{
  background:rgba(245,158,11,.10);border-left-color:var(--ac3);color:var(--ac3)
}
#p-repowering-data-check .rdc-detail-banner.is-addr, #p-repowering-data-csv .rdc-detail-banner.is-addr, #p-repowering-data-mastr .rdc-detail-banner.is-addr, #p-repowering-pipeline-freigabe .rdc-detail-banner.is-addr{
  background:rgba(248,113,113,.08);border-left-color:var(--ac4);color:var(--ac4)
}
#p-repowering-data-check .rdc-detail-banner.is-fallback, #p-repowering-data-csv .rdc-detail-banner.is-fallback, #p-repowering-data-mastr .rdc-detail-banner.is-fallback, #p-repowering-pipeline-freigabe .rdc-detail-banner.is-fallback{
  background:rgba(245,158,11,.08);border-left-color:var(--ac3);color:var(--tx)
}

/* Closed-Pills neben Firma-Name in der Zeile */
#p-repowering-data-check .rdc-closed-pill, #p-repowering-data-csv .rdc-closed-pill, #p-repowering-data-mastr .rdc-closed-pill, #p-repowering-pipeline-freigabe .rdc-closed-pill{
  display:inline-block;padding: 1px 7px;border-radius: 9px;
  font-size:9.5px;font-weight:500;letter-spacing:.02em;margin-left: 6px;
  vertical-align:middle
}
#p-repowering-data-check .rdc-closed-perm, #p-repowering-data-csv .rdc-closed-perm, #p-repowering-data-mastr .rdc-closed-perm, #p-repowering-pipeline-freigabe .rdc-closed-perm{background:rgba(248,113,113,.14);color:var(--ac4)}
#p-repowering-data-check .rdc-closed-temp, #p-repowering-data-csv .rdc-closed-temp, #p-repowering-data-mastr .rdc-closed-temp, #p-repowering-pipeline-freigabe .rdc-closed-temp{background:rgba(245,158,11,.14);color:var(--ac3)}
#p-repowering-data-check .rdc-closed-addr, #p-repowering-data-csv .rdc-closed-addr, #p-repowering-data-mastr .rdc-closed-addr, #p-repowering-pipeline-freigabe .rdc-closed-addr{background:rgba(248,113,113,.10);color:var(--ac4)}
#p-repowering-data-check .rdc-closed-dup, #p-repowering-data-csv .rdc-closed-dup, #p-repowering-data-mastr .rdc-closed-dup, #p-repowering-pipeline-freigabe .rdc-closed-dup{background:rgba(190,140,80,.14);color:var(--ac4)}
#p-repowering-data-check .rdc-closed-dup-best, #p-repowering-data-csv .rdc-closed-dup-best, #p-repowering-data-mastr .rdc-closed-dup-best, #p-repowering-pipeline-freigabe .rdc-closed-dup-best{background:rgba(74,222,128,.14);color:var(--ac2)}
#p-repowering-data-check .rdc-block, #p-repowering-data-csv .rdc-block, #p-repowering-data-mastr .rdc-block, #p-repowering-pipeline-freigabe .rdc-block{
  background:var(--sur);border:1px solid var(--bd);border-radius: 7px;
  padding:9px 11px
}
#p-repowering-data-check .rdc-block-h, #p-repowering-data-csv .rdc-block-h, #p-repowering-data-mastr .rdc-block-h, #p-repowering-pipeline-freigabe .rdc-block-h{
  display:flex;align-items:center;gap: var(--space-2);margin-bottom:6px
}
#p-repowering-data-check .rdc-block-label, #p-repowering-data-csv .rdc-block-label, #p-repowering-data-mastr .rdc-block-label, #p-repowering-pipeline-freigabe .rdc-block-label{
  font-size:11px;font-weight:500;color:var(--tx);flex:1
}
#p-repowering-data-check .rdc-block-score, #p-repowering-data-csv .rdc-block-score, #p-repowering-data-mastr .rdc-block-score, #p-repowering-pipeline-freigabe .rdc-block-score{
  font-family:'DM Mono',monospace;font-size:10.5px;color:var(--tx3)
}
#p-repowering-data-check .rdc-block-note, #p-repowering-data-csv .rdc-block-note, #p-repowering-data-mastr .rdc-block-note, #p-repowering-pipeline-freigabe .rdc-block-note{
  font-size:11.5px;color:var(--tx2);line-height:1.45
}

/* Weak-Match-Badge: rotes Hinweis-Tag im Firma-Block wenn Places einen
   anderen Treffer gefunden hat (kein Token-Overlap mit Sheet-Firma) */
#p-repowering-data-check .rdc-block.is-weak, #p-repowering-data-csv .rdc-block.is-weak, #p-repowering-data-mastr .rdc-block.is-weak, #p-repowering-pipeline-freigabe .rdc-block.is-weak{
  border-color:rgba(248,113,113,.4);
  background:rgba(248,113,113,.04)
}
#p-repowering-data-check .rdc-weak-badge, #p-repowering-data-csv .rdc-weak-badge, #p-repowering-data-mastr .rdc-weak-badge, #p-repowering-pipeline-freigabe .rdc-weak-badge{
  display:inline-block;font-size:9.5px;font-weight:500;
  background:rgba(248,113,113,.12);color:var(--ac4);
  padding: 1px 7px;border-radius: 8px;letter-spacing:.02em
}

/* Vorschläge im Detail */
#p-repowering-data-check .rdc-sug, #p-repowering-data-csv .rdc-sug, #p-repowering-data-mastr .rdc-sug, #p-repowering-pipeline-freigabe .rdc-sug{
  margin-top: 7px;padding-top: 7px;border-top:1px dashed var(--bd)
}
#p-repowering-data-check .rdc-sug-row, #p-repowering-data-csv .rdc-sug-row, #p-repowering-data-mastr .rdc-sug-row, #p-repowering-pipeline-freigabe .rdc-sug-row{
  display:flex;align-items:center;gap: 6px;
  font-size:11px;padding:3px 0
}
#p-repowering-data-check .rdc-sug-k, #p-repowering-data-csv .rdc-sug-k, #p-repowering-data-mastr .rdc-sug-k, #p-repowering-pipeline-freigabe .rdc-sug-k{
  color:var(--tx3);text-transform:uppercase;letter-spacing:.04em;
  font-size:9.5px;font-weight:500;min-width:60px
}
#p-repowering-data-check .rdc-sug-v, #p-repowering-data-csv .rdc-sug-v, #p-repowering-data-mastr .rdc-sug-v, #p-repowering-pipeline-freigabe .rdc-sug-v{
  color:var(--tx);flex:1;
  font-family:'DM Mono',monospace;
  background:var(--sur2);padding: 2px var(--space-2);border-radius: var(--radius-sm);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
#p-repowering-data-check .rdc-take, #p-repowering-data-csv .rdc-take, #p-repowering-data-mastr .rdc-take, #p-repowering-pipeline-freigabe .rdc-take{
  background:transparent;border:1px solid var(--ac);color:var(--ac);
  border-radius: 5px;padding: 3px 9px;
  font-size:10.5px;font-weight:500;cursor:pointer;
  font-family:inherit;transition:all .12s;flex-shrink:0
}
#p-repowering-data-check .rdc-take:hover, #p-repowering-data-csv .rdc-take:hover, #p-repowering-data-mastr .rdc-take:hover, #p-repowering-pipeline-freigabe .rdc-take:hover{background:var(--ac);color:#fff}

/* Pagi enger wie Pipeline (kein Trennstrich oben) */
#p-repowering-data-check .tcard .pagi, #p-repowering-data-csv .tcard .pagi, #p-repowering-data-mastr .tcard .pagi, #p-repowering-pipeline-freigabe .tcard .pagi{
  border-top:0;padding: 6px var(--space-1) var(--space-2);gap:6px
}

/* Closed-Filter-Pill — wie Fehlerhaft: bleibt prominent rot/orange auch
   im aktiven Zustand (Warn-Signal soll nicht dezent werden) */
#p-repowering-data-check .rdc-fpill.is-closed, #p-repowering-data-csv .rdc-fpill.is-closed, #p-repowering-data-mastr .rdc-fpill.is-closed, #p-repowering-pipeline-freigabe .rdc-fpill.is-closed{
  color:var(--ac4)
}
#p-repowering-data-check .rdc-fpill.is-closed.on, #p-repowering-data-csv .rdc-fpill.is-closed.on, #p-repowering-data-mastr .rdc-fpill.is-closed.on, #p-repowering-pipeline-freigabe .rdc-fpill.is-closed.on{
  background:var(--ac4);color:#fff;box-shadow:none
}
#p-repowering-data-check .rdc-fpill.is-closed.on .rdc-fpill-cnt, #p-repowering-data-csv .rdc-fpill.is-closed.on .rdc-fpill-cnt, #p-repowering-data-mastr .rdc-fpill.is-closed.on .rdc-fpill-cnt, #p-repowering-pipeline-freigabe .rdc-fpill.is-closed.on .rdc-fpill-cnt{color:rgba(255,255,255,.8)}

/* Fresh-Filter-Pill + NEU-Badge + Row-Pulse: zeigt die im aktuellen
   Recheck-Lauf geprüften Zeilen. Pill bleibt unauffällig — der Mehrwert
   liegt im Filter + Badge. */
#p-repowering-data-check .rdc-fpill.is-fresh, #p-repowering-data-csv .rdc-fpill.is-fresh, #p-repowering-data-mastr .rdc-fpill.is-fresh, #p-repowering-pipeline-freigabe .rdc-fpill.is-fresh{color:var(--ac2)}
#p-repowering-data-check .rdc-fpill.is-fresh.on, #p-repowering-data-csv .rdc-fpill.is-fresh.on, #p-repowering-data-mastr .rdc-fpill.is-fresh.on, #p-repowering-pipeline-freigabe .rdc-fpill.is-fresh.on{
  background:var(--ac2);color:#fff;box-shadow:none
}
#p-repowering-data-check .rdc-fpill.is-fresh.on .rdc-fpill-cnt, #p-repowering-data-csv .rdc-fpill.is-fresh.on .rdc-fpill-cnt, #p-repowering-data-mastr .rdc-fpill.is-fresh.on .rdc-fpill-cnt, #p-repowering-pipeline-freigabe .rdc-fpill.is-fresh.on .rdc-fpill-cnt{color:rgba(255,255,255,.8)}
#p-repowering-data-check .rdc-fresh-badge, #p-repowering-data-csv .rdc-fresh-badge, #p-repowering-data-mastr .rdc-fresh-badge, #p-repowering-pipeline-freigabe .rdc-fresh-badge{
  display:inline-block;margin-left: 6px;
  padding: 1px 6px;border-radius: 8px;
  background:var(--ac2);color:#fff;
  font-size:9px;font-weight:600;letter-spacing:.06em;
  vertical-align:middle
}
#p-repowering-data-check tr.rdc-row.is-fresh td.rdc-c-id, #p-repowering-data-csv tr.rdc-row.is-fresh td.rdc-c-id, #p-repowering-data-mastr tr.rdc-row.is-fresh td.rdc-c-id, #p-repowering-pipeline-freigabe tr.rdc-row.is-fresh td.rdc-c-id{
  position:relative
}
#p-repowering-data-check tr.rdc-row.is-fresh td.rdc-c-id::before, #p-repowering-data-csv tr.rdc-row.is-fresh td.rdc-c-id::before, #p-repowering-data-mastr tr.rdc-row.is-fresh td.rdc-c-id::before, #p-repowering-pipeline-freigabe tr.rdc-row.is-fresh td.rdc-c-id::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--ac2);
  animation:rdcFreshPulse 1.4s ease-in-out 0s 3
}
@keyframes rdcFreshPulse{
  0%,100%{opacity:.35}
  50%{opacity:1}
}

/* Checkbox-Spalte — nur sichtbar wenn Bulk-Modus aktiv. Default versteckt
   (User-Wunsch 2026-05-15: Bulk-Bar + Checkboxen nur auf expliziten Klick). */
#p-repowering-data-check .rdc-th-sel, #p-repowering-data-csv .rdc-th-sel, #p-repowering-data-mastr .rdc-th-sel, #p-repowering-pipeline-freigabe .rdc-th-sel,
#p-repowering-data-check .rdc-c-sel, #p-repowering-data-csv .rdc-c-sel, #p-repowering-data-mastr .rdc-c-sel, #p-repowering-pipeline-freigabe .rdc-c-sel{
  width:32px;padding: 0 6px;text-align:center;display:none
}
#p-repowering-data-check.is-bulkmode .rdc-th-sel, #p-repowering-data-csv.is-bulkmode .rdc-th-sel, #p-repowering-data-mastr.is-bulkmode .rdc-th-sel, #p-repowering-pipeline-freigabe.is-bulkmode .rdc-th-sel,
#p-repowering-data-check.is-bulkmode .rdc-c-sel, #p-repowering-data-csv.is-bulkmode .rdc-c-sel, #p-repowering-data-mastr.is-bulkmode .rdc-c-sel, #p-repowering-pipeline-freigabe.is-bulkmode .rdc-c-sel{
  display:table-cell
}
/* Bulk-Mode-Toggle-Button in "on"-Zustand: Akzent-Farbe */
#p-repowering-data-check .rdc-icon-recheck.on, #p-repowering-data-csv .rdc-icon-recheck.on, #p-repowering-data-mastr .rdc-icon-recheck.on, #p-repowering-pipeline-freigabe .rdc-icon-recheck.on{
  background:rgba(190,140,80,.10);border-color:var(--ac4);color:var(--ac4)
}

/* Recheck-Dropdown — Toggle-Button mit Pop-up-Menü "Alle / Nur neue" */
#p-repowering-data-check .rdc-recheck-wrap, #p-repowering-data-csv .rdc-recheck-wrap, #p-repowering-data-mastr .rdc-recheck-wrap, #p-repowering-pipeline-freigabe .rdc-recheck-wrap{
  position:relative;display:inline-block
}
#p-repowering-data-check .rdc-recheck-menu, #p-repowering-data-csv .rdc-recheck-menu, #p-repowering-data-mastr .rdc-recheck-menu, #p-repowering-pipeline-freigabe .rdc-recheck-menu{
  position:absolute;top:calc(100% + 4px);left:0;z-index:20;
  min-width:200px;background:var(--sur);
  border:1px solid var(--bd);border-radius: 7px;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  padding: var(--space-1);display:flex;flex-direction:column;gap:2px
}
#p-repowering-data-check .rdc-recheck-menu[hidden], #p-repowering-data-csv .rdc-recheck-menu[hidden], #p-repowering-data-mastr .rdc-recheck-menu[hidden], #p-repowering-pipeline-freigabe .rdc-recheck-menu[hidden]{display:none}
#p-repowering-data-check .rdc-recheck-opt, #p-repowering-data-csv .rdc-recheck-opt, #p-repowering-data-mastr .rdc-recheck-opt, #p-repowering-pipeline-freigabe .rdc-recheck-opt{
  text-align:left;background:transparent;border:0;
  padding: 7px 10px;border-radius: 5px;font-size:12px;color:var(--tx);
  cursor:pointer;font-family:inherit;transition:background .12s
}
#p-repowering-data-check .rdc-recheck-opt:hover, #p-repowering-data-csv .rdc-recheck-opt:hover, #p-repowering-data-mastr .rdc-recheck-opt:hover, #p-repowering-pipeline-freigabe .rdc-recheck-opt:hover{
  background:var(--sur2);color:var(--ac)
}
#p-repowering-data-check .rdc-sel-cb, #p-repowering-data-csv .rdc-sel-cb, #p-repowering-data-mastr .rdc-sel-cb, #p-repowering-pipeline-freigabe .rdc-sel-cb,
#p-repowering-data-check #rdc-sel-all, #p-repowering-data-csv #rdc-sel-all, #p-repowering-data-mastr #rdc-sel-all, #p-repowering-pipeline-freigabe #rdc-sel-all{
  cursor:pointer;width:14px;height:14px;accent-color:var(--ac);margin:0
}
#p-repowering-data-check tr.rdc-row.is-selected, #p-repowering-data-csv tr.rdc-row.is-selected, #p-repowering-data-mastr tr.rdc-row.is-selected, #p-repowering-pipeline-freigabe tr.rdc-row.is-selected{
  background:rgba(122,128,36,.06)
}
#p-repowering-data-check tr.rdc-row.is-selected:hover, #p-repowering-data-csv tr.rdc-row.is-selected:hover, #p-repowering-data-mastr tr.rdc-row.is-selected:hover, #p-repowering-pipeline-freigabe tr.rdc-row.is-selected:hover{
  background:rgba(122,128,36,.10)
}

/* Vorschlag-Badge in der Firma-Zelle — klickbar, öffnet die Detail-Row +
   scrollt zu den Übernehmen-Buttons. */
#p-repowering-data-check .rdc-sug-badge, #p-repowering-data-csv .rdc-sug-badge, #p-repowering-data-mastr .rdc-sug-badge, #p-repowering-pipeline-freigabe .rdc-sug-badge{
  display:inline-flex;align-items:center;
  background:rgba(245,158,11,.12);border:1px solid var(--ac3);
  color:var(--ac3);font-size:10px;font-weight:500;
  padding: 1px 7px;border-radius: 9px;margin-left: 6px;
  cursor:pointer;white-space:nowrap;font-family:inherit;
  transition:all .12s
}
#p-repowering-data-check .rdc-sug-badge:hover, #p-repowering-data-csv .rdc-sug-badge:hover, #p-repowering-data-mastr .rdc-sug-badge:hover, #p-repowering-pipeline-freigabe .rdc-sug-badge:hover{
  background:var(--ac3);color:#fff;border-color:var(--ac3)
}

/* „Alle übernehmen"-Bar oben in der aufgeklappten Detail-Row */
#p-repowering-data-check .rdc-take-all-bar, #p-repowering-data-csv .rdc-take-all-bar, #p-repowering-data-mastr .rdc-take-all-bar, #p-repowering-pipeline-freigabe .rdc-take-all-bar{
  display:flex;justify-content:flex-end;padding:0 0 10px 0
}
#p-repowering-data-check .rdc-take-all, #p-repowering-data-csv .rdc-take-all, #p-repowering-data-mastr .rdc-take-all, #p-repowering-pipeline-freigabe .rdc-take-all{
  background:rgba(245,158,11,.12);border:1px solid var(--ac3);
  color:var(--ac3);font-size:11.5px;font-weight:500;font-family:inherit;
  padding: 5px 11px;border-radius: var(--radius-md);cursor:pointer;transition:all .12s
}
#p-repowering-data-check .rdc-take-all:hover, #p-repowering-data-csv .rdc-take-all:hover, #p-repowering-data-mastr .rdc-take-all:hover, #p-repowering-pipeline-freigabe .rdc-take-all:hover{
  background:var(--ac3);color:#fff
}

/* Sticky Bulk-Bar — erscheint NUR wenn Bulk-Modus aktiv (Page hat
   .is-bulkmode). hidden-Attribut allein reicht nicht weil display:flex es
   überschreibt — explizite Regel mit [hidden] dazu. */
#p-repowering-data-check .rdc-bulkbar, #p-repowering-data-csv .rdc-bulkbar, #p-repowering-data-mastr .rdc-bulkbar, #p-repowering-pipeline-freigabe .rdc-bulkbar{
  display:flex;align-items:center;gap: 10px;
  padding: var(--space-2) 14px;margin-bottom: var(--space-2);
  background:var(--sur);border:1px solid var(--ac4);border-radius: 8px;
  box-shadow:0 1px 4px rgba(0,0,0,.04)
}
#p-repowering-data-check .rdc-bulkbar[hidden], #p-repowering-data-csv .rdc-bulkbar[hidden], #p-repowering-data-mastr .rdc-bulkbar[hidden], #p-repowering-pipeline-freigabe .rdc-bulkbar[hidden]{display:none}
#p-repowering-data-check .rdc-bulkbar-count, #p-repowering-data-csv .rdc-bulkbar-count, #p-repowering-data-mastr .rdc-bulkbar-count, #p-repowering-pipeline-freigabe .rdc-bulkbar-count{
  font-size:12px;color:var(--tx);font-weight:500;
  background:rgba(190,140,80,.10);padding: 3px var(--space-2);border-radius:5px
}
#p-repowering-data-check .rdc-bulkbar-btn, #p-repowering-data-csv .rdc-bulkbar-btn, #p-repowering-data-mastr .rdc-bulkbar-btn, #p-repowering-pipeline-freigabe .rdc-bulkbar-btn{
  background:transparent;border:1px solid var(--bd);
  color:var(--tx2);font-size:11.5px;font-family:inherit;
  padding: 5px var(--space-3);border-radius: var(--radius-md);cursor:pointer;transition:all .12s
}
#p-repowering-data-check .rdc-bulkbar-btn:hover, #p-repowering-data-csv .rdc-bulkbar-btn:hover, #p-repowering-data-mastr .rdc-bulkbar-btn:hover, #p-repowering-pipeline-freigabe .rdc-bulkbar-btn:hover{
  background:var(--sur2);border-color:var(--bd2);color:var(--tx)
}
#p-repowering-data-check .rdc-bulkbar-btn.rdc-bulkbar-bad, #p-repowering-data-csv .rdc-bulkbar-btn.rdc-bulkbar-bad, #p-repowering-data-mastr .rdc-bulkbar-btn.rdc-bulkbar-bad, #p-repowering-pipeline-freigabe .rdc-bulkbar-btn.rdc-bulkbar-bad{
  background:rgba(190,140,80,.10);border-color:var(--ac4);color:var(--ac4);
  font-weight:500;margin-left:auto
}
#p-repowering-data-check .rdc-bulkbar-btn.rdc-bulkbar-bad:hover, #p-repowering-data-csv .rdc-bulkbar-btn.rdc-bulkbar-bad:hover, #p-repowering-data-mastr .rdc-bulkbar-btn.rdc-bulkbar-bad:hover, #p-repowering-pipeline-freigabe .rdc-bulkbar-btn.rdc-bulkbar-bad:hover{
  background:var(--ac4);border-color:var(--ac4);color:#fff
}

/* „Verschieben nach"-Select + Anwenden — Pipeline-Pattern (harmonisiert mit
   .rp-bulk-hint in repowering.css). Inline-Select statt Toggle-Submenu. */
#p-repowering-data-check .rdc-bulkbar-select, #p-repowering-data-csv .rdc-bulkbar-select, #p-repowering-data-mastr .rdc-bulkbar-select, #p-repowering-pipeline-freigabe .rdc-bulkbar-select{
  margin-left: auto;
  background:var(--sur);border:1px solid var(--bd);color:var(--tx);
  border-radius: var(--radius-md);padding: 6px 9px;font-size:11.5px;font-family:inherit;
  outline:none;min-width:200px;transition:border-color .12s
}
#p-repowering-data-check .rdc-bulkbar-select:focus, #p-repowering-data-csv .rdc-bulkbar-select:focus, #p-repowering-data-mastr .rdc-bulkbar-select:focus, #p-repowering-pipeline-freigabe .rdc-bulkbar-select:focus{border-color:var(--ac)}
#p-repowering-data-check .rdc-bulkbar-apply, #p-repowering-data-csv .rdc-bulkbar-apply, #p-repowering-data-mastr .rdc-bulkbar-apply, #p-repowering-pipeline-freigabe .rdc-bulkbar-apply{
  background:var(--ac);border:0;color:#fff;
  border-radius: var(--radius-md);padding: 7px 14px;font-size:11.5px;font-weight:500;
  cursor:pointer;font-family:inherit;transition:opacity .12s
}
#p-repowering-data-check .rdc-bulkbar-apply:hover, #p-repowering-data-csv .rdc-bulkbar-apply:hover, #p-repowering-data-mastr .rdc-bulkbar-apply:hover, #p-repowering-pipeline-freigabe .rdc-bulkbar-apply:hover{opacity:.9}
#p-repowering-data-check .rdc-bulkbar-apply:disabled, #p-repowering-data-csv .rdc-bulkbar-apply:disabled, #p-repowering-data-mastr .rdc-bulkbar-apply:disabled, #p-repowering-pipeline-freigabe .rdc-bulkbar-apply:disabled{
  opacity:.4;cursor:not-allowed
}

/* ───── 4-Step-Wizard 2026-05-18 — neue Step-1/2/3 Komponenten ───── */

/* Step 1 — Source-Cards */
#p-repowering-data-check .rdc-source-grid, #p-repowering-data-csv .rdc-source-grid, #p-repowering-data-mastr .rdc-source-grid, #p-repowering-pipeline-freigabe .rdc-source-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap: 14px;margin-top: 14px;
}
#p-repowering-data-check .rdc-source-card, #p-repowering-data-csv .rdc-source-card, #p-repowering-data-mastr .rdc-source-card, #p-repowering-pipeline-freigabe .rdc-source-card{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: var(--space-5) 22px;text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap: var(--space-2);transition:all .15s;
  font-family:inherit;color:var(--tx);
}
#p-repowering-data-check .rdc-source-card:hover, #p-repowering-data-csv .rdc-source-card:hover, #p-repowering-data-mastr .rdc-source-card:hover, #p-repowering-pipeline-freigabe .rdc-source-card:hover{
  border-color:var(--ac);transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
#p-repowering-data-check .rdc-source-icon, #p-repowering-data-csv .rdc-source-icon, #p-repowering-data-mastr .rdc-source-icon, #p-repowering-pipeline-freigabe .rdc-source-icon{
  width:36px;height:36px;color:var(--tx2);
  display:inline-flex;align-items:center;justify-content:center;
  transition:color .15s;
}
#p-repowering-data-check .rdc-source-icon svg, #p-repowering-data-csv .rdc-source-icon svg, #p-repowering-data-mastr .rdc-source-icon svg, #p-repowering-pipeline-freigabe .rdc-source-icon svg{width:32px;height:32px;display:block}
#p-repowering-data-check .rdc-source-card:hover .rdc-source-icon, #p-repowering-data-csv .rdc-source-card:hover .rdc-source-icon, #p-repowering-data-mastr .rdc-source-card:hover .rdc-source-icon, #p-repowering-pipeline-freigabe .rdc-source-card:hover .rdc-source-icon{color:var(--ac)}
#p-repowering-data-check .rdc-source-title, #p-repowering-data-csv .rdc-source-title, #p-repowering-data-mastr .rdc-source-title, #p-repowering-pipeline-freigabe .rdc-source-title{font-size:15px;font-weight:600;color:var(--tx)}
#p-repowering-data-check .rdc-source-sub, #p-repowering-data-csv .rdc-source-sub, #p-repowering-data-mastr .rdc-source-sub, #p-repowering-pipeline-freigabe .rdc-source-sub{font-size:12.5px;color:var(--tx2);line-height:1.55}
#p-repowering-data-check .rdc-source-meta, #p-repowering-data-csv .rdc-source-meta, #p-repowering-data-mastr .rdc-source-meta, #p-repowering-pipeline-freigabe .rdc-source-meta{
  font-family:'DM Mono',monospace;font-size:10.5px;color:var(--tx3);margin-top: var(--space-1);
}
#p-repowering-data-check .rdc-source-phase2, #p-repowering-data-csv .rdc-source-phase2, #p-repowering-data-mastr .rdc-source-phase2, #p-repowering-pipeline-freigabe .rdc-source-phase2{opacity:.85}
#p-repowering-data-check .rdc-source-phase2 .rdc-source-meta, #p-repowering-data-csv .rdc-source-phase2 .rdc-source-meta, #p-repowering-data-mastr .rdc-source-phase2 .rdc-source-meta, #p-repowering-pipeline-freigabe .rdc-source-phase2 .rdc-source-meta{color:var(--ac3)}

/* Step 2 — MaStR Filter-Stub */
#p-repowering-data-check .rdc-phase2-banner, #p-repowering-data-csv .rdc-phase2-banner, #p-repowering-data-mastr .rdc-phase2-banner, #p-repowering-pipeline-freigabe .rdc-phase2-banner{
  display:flex;align-items:flex-start;gap: var(--space-3);
  background:rgba(245,158,11,.08);border:1px dashed var(--ac3);
  border-radius: 8px;padding: var(--space-3) 14px;margin-bottom: 14px;
}
#p-repowering-data-check .rdc-phase2-icon, #p-repowering-data-csv .rdc-phase2-icon, #p-repowering-data-mastr .rdc-phase2-icon, #p-repowering-pipeline-freigabe .rdc-phase2-icon{
  color:var(--ac3);flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
}
#p-repowering-data-check .rdc-phase2-icon svg, #p-repowering-data-csv .rdc-phase2-icon svg, #p-repowering-data-mastr .rdc-phase2-icon svg, #p-repowering-pipeline-freigabe .rdc-phase2-icon svg{width:22px;height:22px;display:block}
#p-repowering-data-check .rdc-phase2-title, #p-repowering-data-csv .rdc-phase2-title, #p-repowering-data-mastr .rdc-phase2-title, #p-repowering-pipeline-freigabe .rdc-phase2-title{
  font-size:13px;font-weight:600;color:var(--ac3);margin-bottom: 3px;
}
#p-repowering-data-check .rdc-phase2-sub, #p-repowering-data-csv .rdc-phase2-sub, #p-repowering-data-mastr .rdc-phase2-sub, #p-repowering-pipeline-freigabe .rdc-phase2-sub{
  font-size:11.5px;color:var(--tx2);line-height:1.55;
}
#p-repowering-data-check .rdc-filter-grid, #p-repowering-data-csv .rdc-filter-grid, #p-repowering-data-mastr .rdc-filter-grid, #p-repowering-pipeline-freigabe .rdc-filter-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap: 10px;margin-bottom: 14px;
}
#p-repowering-data-check .rdc-field, #p-repowering-data-csv .rdc-field, #p-repowering-data-mastr .rdc-field, #p-repowering-pipeline-freigabe .rdc-field{display:flex;flex-direction:column;gap: var(--space-1);min-width:0}
#p-repowering-data-check .rdc-field span, #p-repowering-data-csv .rdc-field span, #p-repowering-data-mastr .rdc-field span, #p-repowering-pipeline-freigabe .rdc-field span{
  font-size:12px;font-weight:400;color:var(--tx);
}
#p-repowering-data-check .rdc-field input, #p-repowering-data-csv .rdc-field input, #p-repowering-data-mastr .rdc-field input, #p-repowering-pipeline-freigabe .rdc-field input,
#p-repowering-data-check .rdc-field select, #p-repowering-data-csv .rdc-field select, #p-repowering-data-mastr .rdc-field select, #p-repowering-pipeline-freigabe .rdc-field select{
  background:var(--bg);border:1px solid var(--bd);border-radius: var(--radius-md);color:var(--tx);
  padding: 7px 10px;font-size:12.5px;font-family:inherit;outline:none;width:100%;box-sizing:border-box;
  accent-color:var(--ac);
}
#p-repowering-data-check .rdc-field input:focus, #p-repowering-data-csv .rdc-field input:focus, #p-repowering-data-mastr .rdc-field input:focus, #p-repowering-pipeline-freigabe .rdc-field input:focus,
#p-repowering-data-check .rdc-field select:focus, #p-repowering-data-csv .rdc-field select:focus, #p-repowering-data-mastr .rdc-field select:focus, #p-repowering-pipeline-freigabe .rdc-field select:focus{
  border-color:var(--ac);
}
#p-repowering-data-check .rdc-field input:disabled, #p-repowering-data-csv .rdc-field input:disabled, #p-repowering-data-mastr .rdc-field input:disabled, #p-repowering-pipeline-freigabe .rdc-field input:disabled{opacity:.55;cursor:not-allowed}
#p-repowering-data-check .rdc-toggle-row, #p-repowering-data-csv .rdc-toggle-row, #p-repowering-data-mastr .rdc-toggle-row, #p-repowering-pipeline-freigabe .rdc-toggle-row{
  display:flex;gap: 14px;flex-wrap:wrap;padding: 6px 0;
}
#p-repowering-data-check .rdc-check, #p-repowering-data-csv .rdc-check, #p-repowering-data-mastr .rdc-check, #p-repowering-pipeline-freigabe .rdc-check{
  display:inline-flex;align-items:center;gap: var(--space-2);font-size:13.5px;color:var(--tx);
}
#p-repowering-data-check .rdc-check input[type="checkbox"], #p-repowering-data-csv .rdc-check input[type="checkbox"], #p-repowering-data-mastr .rdc-check input[type="checkbox"], #p-repowering-pipeline-freigabe .rdc-check input[type="checkbox"]{
  width:16px;height:16px;
}
#p-repowering-data-check .rdc-check input[type="checkbox"], #p-repowering-data-csv .rdc-check input[type="checkbox"], #p-repowering-data-mastr .rdc-check input[type="checkbox"], #p-repowering-pipeline-freigabe .rdc-check input[type="checkbox"]{
  accent-color:var(--ac);
}
#p-repowering-data-check .rdc-check input:disabled, #p-repowering-data-csv .rdc-check input:disabled, #p-repowering-data-mastr .rdc-check input:disabled, #p-repowering-pipeline-freigabe .rdc-check input:disabled{opacity:.55;cursor:not-allowed}

/* Anreicherungs-Stages — Visual-Refresh 2026-05-19 */
#p-repowering-data-check .rdc-stages, #p-repowering-data-csv .rdc-stages, #p-repowering-data-mastr .rdc-stages, #p-repowering-pipeline-freigabe .rdc-stages{display:flex;flex-direction:column;gap: var(--space-3)}
#p-repowering-data-check .rdc-stage, #p-repowering-data-csv .rdc-stage, #p-repowering-data-mastr .rdc-stage, #p-repowering-pipeline-freigabe .rdc-stage{
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: 12px;
  padding: 18px 20px;
  transition:border-color .15s ease, box-shadow .15s ease;
}
#p-repowering-data-check .rdc-stage:hover, #p-repowering-data-csv .rdc-stage:hover, #p-repowering-data-mastr .rdc-stage:hover, #p-repowering-pipeline-freigabe .rdc-stage:hover{
  border-color:var(--bd2);
}
#p-repowering-data-check .rdc-stage-head, #p-repowering-data-csv .rdc-stage-head, #p-repowering-data-mastr .rdc-stage-head, #p-repowering-pipeline-freigabe .rdc-stage-head{
  display:flex;align-items:center;gap: var(--space-3);margin-bottom: var(--space-2);
}
#p-repowering-data-check .rdc-stage-status, #p-repowering-data-csv .rdc-stage-status, #p-repowering-data-mastr .rdc-stage-status, #p-repowering-pipeline-freigabe .rdc-stage-status{
  font-size:18px;
  font-weight:700;
  width:28px;
  height:28px;
  line-height:28px;
  text-align:center;
  border-radius: 50%;
  color:var(--ac);
  background:rgba(213,217,96,.14);
  flex:none;
}
#p-repowering-data-check .rdc-stage-phase2 .rdc-stage-status, #p-repowering-data-csv .rdc-stage-phase2 .rdc-stage-status, #p-repowering-data-mastr .rdc-stage-phase2 .rdc-stage-status, #p-repowering-pipeline-freigabe .rdc-stage-phase2 .rdc-stage-status{
  color:var(--tx3);
  background:var(--sur3);
}
#p-repowering-data-check .rdc-stage-title, #p-repowering-data-csv .rdc-stage-title, #p-repowering-data-mastr .rdc-stage-title, #p-repowering-pipeline-freigabe .rdc-stage-title{flex:1;font-size:14px;font-weight:600;color:var(--tx);line-height:1.35}
#p-repowering-data-check .rdc-stage-meta, #p-repowering-data-csv .rdc-stage-meta, #p-repowering-data-mastr .rdc-stage-meta, #p-repowering-pipeline-freigabe .rdc-stage-meta{font-family:'DM Mono',monospace;font-size:10.5px;color:var(--tx3);white-space:nowrap}
#p-repowering-data-check .rdc-stage-body, #p-repowering-data-csv .rdc-stage-body, #p-repowering-data-mastr .rdc-stage-body, #p-repowering-pipeline-freigabe .rdc-stage-body{font-size:12.5px;color:var(--tx2);line-height:1.6;padding-left: 40px}
#p-repowering-data-check .rdc-stage-phase2, #p-repowering-data-csv .rdc-stage-phase2, #p-repowering-data-mastr .rdc-stage-phase2, #p-repowering-pipeline-freigabe .rdc-stage-phase2{opacity:.75}

/* Stage-Action-Row: dezenter Hintergrund statt Trennlinie, Status links, Button rechts */
#p-repowering-data-check .rdc-stage-action, #p-repowering-data-csv .rdc-stage-action, #p-repowering-data-mastr .rdc-stage-action, #p-repowering-pipeline-freigabe .rdc-stage-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  flex-wrap:wrap;
  margin-top: 14px;
  margin-left: 40px;
  padding: 10px 14px;
  background:var(--sur2);
  border-radius: 8px;
}
#p-repowering-data-check .rdc-stage-info, #p-repowering-data-csv .rdc-stage-info, #p-repowering-data-mastr .rdc-stage-info, #p-repowering-pipeline-freigabe .rdc-stage-info{
  font-size:12.5px;
  color:var(--tx);
  font-weight:500;
  flex:1;
  min-width:0;
}

/* Score-Pille in der Geprueft-Liste (Phase 2 / Stufe 1) */
#p-repowering-data-csv .rdcsv-score, #p-repowering-data-mastr .rdcsv-score{
  display:inline-block;
  font-size:11.5px;
  font-weight:700;
  padding: 3px 10px;
  border-radius: 12px;
  line-height:1.4;
  letter-spacing:.3px;
  font-variant-numeric:tabular-nums;
}
#p-repowering-data-csv .rdcsv-score-ok, #p-repowering-data-mastr .rdcsv-score-ok{
  background:rgba(15,157,88,.16); color:#2a7f50; border:1px solid rgba(15,157,88,.30);
}
#p-repowering-data-csv .rdcsv-score-warn, #p-repowering-data-mastr .rdcsv-score-warn{
  background:rgba(234,167,0,.16); color:#a87900; border:1px solid rgba(234,167,0,.30);
}
#p-repowering-data-csv .rdcsv-score-bad, #p-repowering-data-mastr .rdcsv-score-bad{
  background:rgba(193,57,61,.18); color:#a52327; border:1px solid rgba(193,57,61,.32);
}
#p-repowering-data-csv .rdcsv-score-na, #p-repowering-data-mastr .rdcsv-score-na{
  background:var(--sur3); color:var(--tx3); border:1px solid var(--bd);
}
:root.dark #p-repowering-data-csv .rdcsv-score-ok, :root.dark #p-repowering-data-mastr .rdcsv-score-ok{
  background:rgba(80,200,140,.18); color:#88d8aa; border-color:rgba(80,200,140,.34);
}
:root.dark #p-repowering-data-csv .rdcsv-score-warn, :root.dark #p-repowering-data-mastr .rdcsv-score-warn{
  background:rgba(255,200,80,.18); color:#ffd886; border-color:rgba(255,200,80,.34);
}
:root.dark #p-repowering-data-csv .rdcsv-score-bad, :root.dark #p-repowering-data-mastr .rdcsv-score-bad{
  background:rgba(255,120,120,.18); color:#ff9b9b; border-color:rgba(255,120,120,.34);
}

/* MaStR-Filter UI (Phase 2 live) */
#p-repowering-data-check .rdc-mastr-intro, #p-repowering-data-csv .rdc-mastr-intro, #p-repowering-data-mastr .rdc-mastr-intro, #p-repowering-pipeline-freigabe .rdc-mastr-intro{
  font-size:13px;color:var(--tx);line-height:1.55;margin-bottom: 14px;font-weight:400;
}
#p-repowering-data-check .rdc-mastr-intro b, #p-repowering-data-csv .rdc-mastr-intro b, #p-repowering-data-mastr .rdc-mastr-intro b, #p-repowering-pipeline-freigabe .rdc-mastr-intro b{color:var(--tx);font-weight:400}
#p-repowering-data-check .rdc-mastr-advanced, #p-repowering-data-csv .rdc-mastr-advanced, #p-repowering-data-mastr .rdc-mastr-advanced, #p-repowering-pipeline-freigabe .rdc-mastr-advanced{margin: 14px 0}
#p-repowering-data-check .rdc-mastr-advanced summary, #p-repowering-data-csv .rdc-mastr-advanced summary, #p-repowering-data-mastr .rdc-mastr-advanced summary, #p-repowering-pipeline-freigabe .rdc-mastr-advanced summary{
  cursor:pointer;list-style:none;
  padding: 6px 0;font-size:13px;color:var(--tx);font-weight:400;
}
#p-repowering-data-check .rdc-mastr-advanced summary::-webkit-details-marker, #p-repowering-data-csv .rdc-mastr-advanced summary::-webkit-details-marker, #p-repowering-data-mastr .rdc-mastr-advanced summary::-webkit-details-marker, #p-repowering-pipeline-freigabe .rdc-mastr-advanced summary::-webkit-details-marker{display:none}
#p-repowering-data-check .rdc-mastr-advanced summary:hover, #p-repowering-data-csv .rdc-mastr-advanced summary:hover, #p-repowering-data-mastr .rdc-mastr-advanced summary:hover, #p-repowering-pipeline-freigabe .rdc-mastr-advanced summary:hover{color:var(--tx2)}
#p-repowering-data-check .rdc-mastr-action, #p-repowering-data-csv .rdc-mastr-action, #p-repowering-data-mastr .rdc-mastr-action, #p-repowering-pipeline-freigabe .rdc-mastr-action{
  display:flex;align-items:center;gap: 14px;
  margin-top: 14px;padding-top: 14px;border-top:1px solid var(--bd);
}
#p-repowering-data-check .rdc-mastr-status, #p-repowering-data-csv .rdc-mastr-status, #p-repowering-data-mastr .rdc-mastr-status, #p-repowering-pipeline-freigabe .rdc-mastr-status{font-size:12px;color:var(--tx2)}
#p-repowering-data-check .rdc-mastr-status.is-error, #p-repowering-data-csv .rdc-mastr-status.is-error, #p-repowering-data-mastr .rdc-mastr-status.is-error, #p-repowering-pipeline-freigabe .rdc-mastr-status.is-error{color:var(--ac4)}
#p-repowering-data-check .rdc-mastr-status.is-ok, #p-repowering-data-csv .rdc-mastr-status.is-ok, #p-repowering-data-mastr .rdc-mastr-status.is-ok, #p-repowering-pipeline-freigabe .rdc-mastr-status.is-ok{color:var(--ac)}
#p-repowering-data-check .rdc-input, #p-repowering-data-csv .rdc-input, #p-repowering-data-mastr .rdc-input, #p-repowering-pipeline-freigabe .rdc-input{
  background:var(--bg);border:1px solid var(--bd);border-radius: var(--radius-md);color:var(--tx);
  padding: 7px 10px;font-size:12.5px;font-family:inherit;outline:none;
}

/* Repowering · Daten-Upload — externe Listen einspielen.
   Superadmin-Tool, 4-Schritte-Wizard (File → Map → Validate → Append). */

/* Breadcrumb (gleiche Konvention wie andere Repowering-Pages) */
.rdu-crumb{
  display:flex;align-items:center;gap: var(--space-2);flex-wrap:wrap;
  padding: 6px 2px 14px;font-size:12px;color:var(--tx2);line-height:1.4
}
.rdu-crumb-eyebrow{
  text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;
  color:var(--ac);font-weight:500
}
.rdu-crumb-eyebrow .rdu-crumb-dot{margin: 0 2px;opacity:.7}
.rdu-crumb-dot{color:var(--tx3);font-style:normal;font-size:13px;line-height:1}
.rdu-crumb-title{color:var(--tx);font-size:13px}
.rdu-crumb-title i{
  font-family:'Crimson Text','Charter','Georgia',serif;
  font-style:italic;font-size:15px;font-weight:400;color:var(--ac)
}
.rdu-crumb-dash{color:var(--tx3);font-style:normal;margin: 0 var(--space-1)}
.rdu-crumb-info{
  background:transparent;border:0;padding: 2px;color:var(--tx3);
  cursor:help;display:inline-flex;align-items:center;border-radius:50%
}
.rdu-crumb-info svg{width:14px;height:14px}

/* Step-Container */
.rdu-step{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 10px 14px;margin-bottom:8px
}
.rdu-step-h{
  display:flex;align-items:center;gap: 10px;
  font-size:13px;color:var(--tx);margin-bottom:8px
}
.rdu-step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius: 50%;
  background:var(--ac);color:#fff;font-size:11px;font-weight:600;font-family:'DM Mono',monospace
}
.rdu-step-title{font-weight:500;color:var(--tx)}
.rdu-file-info,
.rdu-preview-stats,
.rdu-history-stats{
  margin-left: auto;font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace
}

/* Step 1: Dropzone */
.rdu-dropzone{
  border:2px dashed var(--bd);border-radius: var(--radius-lg);
  padding: 18px 20px;text-align:center;
  transition:all .15s;cursor:pointer;background:var(--sur2)
}
.rdu-dropzone.is-hover,
.rdu-dropzone:hover{
  border-color:var(--ac);background:rgba(122,128,36,.05)
}
.rdu-drop-icon{
  width:32px;height:32px;color:var(--ac);margin-bottom:4px
}
.rdu-drop-title{
  font-size:13px;font-weight:500;color:var(--tx);margin-bottom:4px
}
.rdu-drop-sub{
  font-size:11.5px;color:var(--tx2);margin-bottom:8px
}
.rdu-drop-hint{
  font-size:11px;color:var(--tx3);line-height:1.5;
  max-width:600px;margin:0 auto
}
.rdu-drop-hint code{
  font-family:'DM Mono',monospace;font-size:10.5px;
  background:var(--sur);padding: 1px 5px;border-radius: 3px;color:var(--tx2)
}
.rdu-link{
  background:transparent;border:0;color:var(--ac);
  text-decoration:underline;cursor:pointer;font-family:inherit;font-size:inherit;padding:0
}
.rdu-rolehint{
  margin-top: var(--space-2);padding: var(--space-2) var(--space-3);font-size:11.5px;color:var(--tx3);
  background:rgba(86,107,134,.08);border-radius:6px
}

/* Busy-State während Datei-Parsing — der User sieht sofort dass gearbeitet wird */
.rdu-dropzone.is-busy{
  cursor:wait;border-style:solid;border-color:var(--ac);
  background:rgba(122,128,36,.06)
}
.rdu-dropzone.is-busy:hover{background:rgba(122,128,36,.06)}
.rdu-busy{
  display:flex;flex-direction:column;align-items:center;gap: 10px;padding:8px 0
}
.rdu-busy-spinner{
  width:28px;height:28px;border-radius: 50%;
  border:3px solid rgba(122,128,36,.18);border-top-color:var(--ac);
  animation:rdu-spin .8s linear infinite
}
.rdu-busy-label{
  font-size:13px;font-weight:500;color:var(--tx)
}
.rdu-busy-sub{
  font-size:11.5px;color:var(--tx3);font-family:'DM Mono',monospace
}
@keyframes rdu-spin{to{transform:rotate(360deg)}}

/* Step 2: Mapping-Grid — kompakte vertikale Liste, je Feld eine Zeile mit
   Label · Dropdown · Preview-Werte aus File-Spalte */
.rdu-map-grid{
  display:flex;flex-direction:column;gap: var(--space-1);margin-bottom:10px
}
.rdu-map-row{
  display:grid;grid-template-columns:88px 240px 1fr;
  align-items:center;gap: 10px;padding:4px 0
}
.rdu-map-row label{
  font-size:11.5px;color:var(--tx2);text-transform:capitalize;
  display:flex;align-items:center;gap:4px
}
.rdu-req{
  font-size:9px;color:var(--ac4);background:rgba(248,113,113,.10);
  padding: 1px 5px;border-radius: 7px;font-weight:500;line-height:1.4
}
.rdu-map-row select{
  background:var(--sur2);border:1px solid var(--bd);color:var(--tx);
  border-radius: 5px;padding: 5px var(--space-2);font-size:11px;font-family:inherit;
  width:100%
}
.rdu-map-preview{
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding: 0 var(--space-1);line-height:1.4
}

/* Step Actions */
.rdu-step-actions{
  display:flex;justify-content:flex-end;gap: var(--space-2);margin-top: 14px;
  padding-top: var(--space-3);border-top:1px solid var(--bd)
}
.rdu-btn-pri{
  background:var(--ac);border:0;color:#fff;
  border-radius: var(--radius-md);padding: var(--space-2) var(--space-4);font-size:12px;font-weight:500;
  cursor:pointer;font-family:inherit;transition:opacity .12s
}
.rdu-btn-pri:hover{opacity:.9}
.rdu-btn-pri:disabled,
.rdu-btn-pri:disabled:hover{
  background:var(--sur3);
  color:var(--tx3);
  cursor:not-allowed;
  opacity:1;
}
.rdu-btn-ghost{
  background:transparent;border:1px solid var(--bd);color:var(--tx2);
  border-radius: var(--radius-md);padding: var(--space-2) var(--space-4);font-size:12px;
  cursor:pointer;font-family:inherit
}
.rdu-btn-ghost:hover{background:var(--sur2);color:var(--tx)}

/* Step 3: Preview-Tabelle */
.rdu-preview-wrap{overflow-x:auto;max-height:480px;overflow-y:auto;border:1px solid var(--bd);border-radius: 7px}
.rdu-preview-table,
.rdu-history-table{
  width:100%;border-collapse:collapse;font-size:11.5px
}
.rdu-preview-table th,
.rdu-history-table th{
  position:sticky;top:0;background:var(--sur);
  text-align:left;padding: var(--space-2) 10px;font-weight:500;font-size:10.5px;
  color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;
  border-bottom:1px solid var(--bd)
}
.rdu-th-c,
.rdu-c-c{text-align:center}
.rdu-preview-table td,
.rdu-history-table td{
  padding: 7px 10px;border-bottom:1px solid var(--bd);color:var(--tx)
}
.rdu-preview-table tr:hover td,
.rdu-history-table tr:hover td{background:var(--sur2)}

/* Pills + Minis */
.rdu-pill{
  display:inline-block;padding: 2px 9px;border-radius: 11px;
  font-size:10.5px;font-weight:500;font-family:'DM Mono',monospace;white-space:nowrap
}
.rdu-pill-ok   {background:rgba(122,128,36,.15);color:var(--ac)}
.rdu-pill-warn {background:rgba(245,158,11,.12);color:var(--ac3)}
.rdu-pill-bad  {background:rgba(248,113,113,.10);color:var(--ac4)}
.rdu-pill-na   {background:var(--sur2);color:var(--tx3)}
.rdu-mini{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius: 50%;font-size:11px;font-weight:600;line-height:1
}
.rdu-mini-ok   {background:rgba(122,128,36,.15);color:var(--ac)}
.rdu-mini-warn {background:rgba(245,158,11,.14);color:var(--ac3)}
.rdu-mini-bad  {background:rgba(248,113,113,.12);color:var(--ac4)}
.rdu-mini-na   {background:transparent;color:var(--tx3)}

/* Step 3: Live-Progress (Upload + Daten-Check Wizard) */
.rdu-progress-bar{
  height:8px;background:var(--sur2);border-radius: var(--radius-sm);overflow:hidden;
  margin:8px 0 12px
}
.rdu-progress-fill{
  height:100%;background:linear-gradient(90deg,var(--ac),var(--ac));
  transition:width .3s ease;border-radius:4px
}
.rdu-progress-stats{
  margin-left: auto;font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3)
}
.rdu-progress-log{
  background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;
  padding: var(--space-2) var(--space-3);
  font-family:'DM Mono',monospace;font-size:10.5px;color:var(--tx2);
  line-height:1.6;
  /* Default kompakt: 3 Zeilen sichtbar — User soll die History-Liste darunter
     weiter sehen können. Klick auf den Header expandiert auf volle Höhe. */
  max-height:62px;overflow-y:auto;transition:max-height .2s ease
}
.rdu-progress-log.is-expanded{max-height:320px}
.rdu-log-line{padding: 1px 0}
.rdu-log-toggle{
  display:inline-block;margin-top: var(--space-1);font-size:10.5px;color:var(--ac);
  cursor:pointer;background:transparent;border:0;padding: 0;font-family:inherit
}
.rdu-log-toggle:hover{text-decoration:underline}
/* Controls-Zeile unter dem Log: Log-Toggle links, Action-Buttons rechts.
   Stop + "Daten in Stufe 2" leben in einer flex-Gruppe rechts, sodass sie
   nebeneinander stehen — User-Wunsch 2026-05-15. */
.rdu-progress-controls{
  display:flex;align-items:center;justify-content:space-between;
  margin-top: var(--space-1);gap:10px
}
.rdu-progress-actions-inline{
  display:flex;align-items:center;gap:8px
}
.rdu-btn-stop{
  background:rgba(190,140,80,.10);border:1px solid var(--ac4);color:var(--ac4);
  font-size:11.5px;font-family:inherit;font-weight:500;
  padding: 5px var(--space-3);border-radius: var(--radius-md);cursor:pointer;transition:all .12s
}
.rdu-btn-stop:hover{background:var(--ac4);border-color:var(--ac4);color:#fff}
.rdu-btn-stop:disabled{opacity:.55;cursor:wait}

/* Step 4: Empty / Delete-Link */
.rdu-empty{
  text-align:center;color:var(--tx3);font-size:12px;font-style:italic;padding:24px
}
.rdu-link-del{
  color:var(--ac4);font-size:11px
}
.rdu-link-reset{
  color:var(--ac4);font-size:11px;margin-left:auto
}
.rdu-history-note{
  font-size:11px;color:var(--tx3);font-style:italic;
  padding: 6px 14px 0;margin-bottom:-4px
}
.rdu-history-toggle{
  display:block;width:100%;text-align:center;
  background:transparent;border:0;border-top:1px dashed var(--bd);
  padding: var(--space-2);font-size:11.5px;color:var(--ac);cursor:pointer;
  font-family:inherit;margin-top:4px
}
.rdu-history-toggle:hover{background:var(--sur2);color:var(--ac)}

/* Confirm-Body — wird im plattform-eigenen showDialog gerendert (statt window.confirm) */
.rdu-confirm{display:flex;flex-direction:column;gap: 14px}
.rdu-confirm-lead{
  font-size:13.5px;color:var(--tx);line-height:1.5
}
.rdu-confirm-lead b{color:var(--ac);font-weight:600}
.rdu-confirm-steps{
  list-style:none;margin: 0;padding: 0;display:flex;flex-direction:column;gap:8px
}
.rdu-confirm-steps li{
  display:flex;align-items:flex-start;gap: 10px;
  padding: var(--space-2) 10px;background:var(--sur2);border:1px solid var(--bd);
  border-radius:7px
}
.rdu-confirm-steps li > div{display:flex;flex-direction:column;gap: 1px;min-width:0}
.rdu-confirm-steps li b{font-size:12.5px;color:var(--tx);font-weight:600}
.rdu-confirm-steps li em{
  font-style:normal;font-size:11px;color:var(--tx3);line-height:1.4
}
.rdu-cs-num{
  flex-shrink:0;width:20px;height:20px;border-radius: 50%;
  background:var(--ac);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:600;font-family:'DM Mono',monospace;
  margin-top:1px
}
.rdu-confirm-meta{
  display:flex;flex-wrap:wrap;gap: 6px;padding-top: var(--space-1);
  border-top:1px solid var(--bd);margin-top: 2px;padding-top:12px
}
.rdu-cm-chip{
  display:inline-flex;align-items:center;gap: 5px;
  padding: var(--space-1) 9px;background:var(--sur2);border:1px solid var(--bd);
  border-radius: 11px;font-size:11px;color:var(--tx2)
}
.rdu-cm-chip svg{width:11px;height:11px;color:var(--ac);flex-shrink:0}
.rdu-confirm-note{
  font-size:12px;color:var(--tx2);line-height:1.5;
  padding: 10px var(--space-3);background:rgba(190,140,80,.08);
  border-left:3px solid var(--ac4);border-radius:5px
}
.rdu-purge-opt{
  display:flex;align-items:flex-start;gap: 10px;
  padding: 10px var(--space-3);background:var(--sur2);border:1px solid var(--bd);
  border-radius: var(--radius-md);cursor:pointer;user-select:none
}
.rdu-purge-opt input{
  margin-top: 2px;flex-shrink:0;width:14px;height:14px;
  accent-color:var(--ac4);cursor:pointer
}
.rdu-purge-opt > span{display:flex;flex-direction:column;gap: 3px;line-height:1.4}
.rdu-purge-opt b{font-size:12.5px;color:var(--tx);font-weight:600}
.rdu-purge-opt em{font-style:normal;font-size:11px;color:var(--tx3)}

/* Assistant — Voice-Sparring-Page.
   Layout: Hero · Mic-Stage · Konversations-Stream · Foot.
   Bewusst minimalistisch, weil das Hörbare wichtiger ist als das Sichtbare. */

#p-assistant {
  max-width: 880px;
  margin: 0 auto;
}

/* ── Hero ── */
#p-assistant .as-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-5);
  margin-bottom: var(--space-6);
}
#p-assistant .as-hero h1 {
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 6px 0;
  color: var(--tx);
}
#p-assistant .as-hero-sub {
  font-size: 13px;
  color: var(--tx2);
  line-height: 1.5;
  max-width: 480px;
}

/* Status-Pill — visualisiert Mic/Listen/Thinking/Speaking-Zustand */
#p-assistant .as-hero-status {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: var(--radius-pill);
  padding: 6px 14px;
  font-size: 12px;
  color: var(--tx2);
  font-weight: 500;
  white-space: nowrap;
}
#p-assistant .as-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--tx3);
  transition: background .15s, box-shadow .15s;
}
#p-assistant .as-hero-status[data-state="listening"] .as-status-dot {
  background: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, .18);
  animation: as-pulse 1.2s ease-in-out infinite;
}
#p-assistant .as-hero-status[data-state="thinking"] .as-status-dot {
  background: var(--ac3);
}
#p-assistant .as-hero-status[data-state="speaking"] .as-status-dot {
  background: var(--ac);
  box-shadow: 0 0 0 4px rgba(213, 217, 96, .22);
}
#p-assistant .as-hero-status[data-state="error"] .as-status-dot {
  background: var(--ac4);
}

@keyframes as-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .5; }
}

/* ── Shell: Mic-Stage links, Konversation rechts. Auf schmal: stacked. ── */
#p-assistant .as-shell {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: var(--space-6);
  align-items: start;
}
@media (max-width: 720px) {
  #p-assistant .as-shell {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
}

/* ── Mic-Stage ── */
#p-assistant .as-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  position: sticky;
  top: 24px;
}
#p-assistant .as-mic {
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: var(--sur);
  border: 1px solid var(--bd);
  color: var(--tx2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s ease;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
#p-assistant .as-mic svg {
  width: 56px;
  height: 56px;
}
#p-assistant .as-mic:hover {
  border-color: var(--bd2);
  color: var(--tx);
}
#p-assistant .as-mic.is-active {
  background: var(--ac);
  border-color: var(--ac);
  color: var(--ac-on);
  box-shadow: 0 0 0 8px rgba(213, 217, 96, .18), 0 8px 32px rgba(213, 217, 96, .22);
  transform: scale(1.03);
}
#p-assistant .as-mic.is-disabled {
  opacity: .4;
  cursor: not-allowed;
}
#p-assistant .as-mic-hint {
  font-size: 11.5px;
  color: var(--tx3);
  text-align: center;
  max-width: 200px;
  line-height: 1.5;
}

#p-assistant .as-toggle-row {
  margin-top: 6px;
}
#p-assistant .as-switch {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  cursor: pointer;
  user-select: none;
  font-size: 12px;
  color: var(--tx2);
}
#p-assistant .as-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
#p-assistant .as-switch-slider {
  width: 30px;
  height: 17px;
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: var(--radius-pill);
  position: relative;
  transition: background .15s, border-color .15s;
  flex-shrink: 0;
}
#p-assistant .as-switch-slider::after {
  content: '';
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--tx3);
  top: 1px;
  left: 1px;
  transition: transform .15s, background .15s;
}
#p-assistant .as-switch input:checked + .as-switch-slider {
  background: var(--ac);
  border-color: var(--ac);
}
#p-assistant .as-switch input:checked + .as-switch-slider::after {
  background: var(--ac-on);
  transform: translateX(13px);
}

#p-assistant .as-provider-row {
  margin-top: var(--space-1);
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  max-width: 200px;
}
#p-assistant .as-provider-label {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--tx3);
}
#p-assistant .as-provider {
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 12px;
  color: var(--tx);
  font-family: inherit;
  cursor: pointer;
  width: 100%;
}
#p-assistant .as-provider:hover {
  border-color: var(--bd2);
}
#p-assistant .as-provider:focus {
  outline: none;
  border-color: var(--ac);
}

/* ── Konversations-Stream ── */
#p-assistant .as-conv {
  min-height: 320px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
#p-assistant .as-empty {
  margin-top: 60px;
  text-align: center;
  color: var(--tx3);
}
#p-assistant .as-empty-icon {
  font-size: 24px;
  letter-spacing: 6px;
  margin-bottom: var(--space-3);
  color: var(--tx3);
}
#p-assistant .as-empty-text {
  font-size: 13px;
}

#p-assistant .as-msg {
  display: flex;
  gap: var(--space-3);
  animation: as-fadein .2s ease;
}
@keyframes as-fadein {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
#p-assistant .as-msg-role {
  width: 54px;
  flex-shrink: 0;
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--tx3);
  padding-top: 3px;
}
#p-assistant .as-msg-body {
  flex: 1;
  font-size: 14px;
  line-height: 1.55;
  color: var(--tx);
  white-space: pre-wrap;
  word-wrap: break-word;
}
#p-assistant .as-msg.as-msg-user .as-msg-role {
  color: var(--ac2);
}
#p-assistant .as-msg.as-msg-claude .as-msg-role {
  color: var(--ac);
}
#p-assistant .as-msg.as-msg-claude .as-msg-body {
  color: var(--tx);
}
#p-assistant .as-msg.is-interim {
  opacity: .55;
  font-style: italic;
}

/* ── Foot ── */
#p-assistant .as-foot {
  margin-top: 36px;
  padding-top: var(--space-4);
  border-top: 1px solid var(--bd);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  color: var(--tx3);
}
#p-assistant .as-link {
  background: transparent;
  border: 0;
  color: var(--tx2);
  font-size: 11px;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}
#p-assistant .as-link:hover {
  color: var(--tx);
  text-decoration: underline;
}
#p-assistant .as-foot-sep {
  color: var(--tx3);
}
#p-assistant .as-foot-info {
  font-family: 'DM Mono', monospace;
  letter-spacing: .02em;
}

/* Kosten-Übersicht — API-Usage + Pricing für Repowering-Modul.
   Page-ID: #p-kosten. Wird in der Sidebar unter „System" verlinkt.
   Folgt dem Pipeline-Look (Crumb + Stat-Tiles + Section-Cards). */

#p-kosten { padding: 18px var(--space-5) 80px; max-width: 1320px; margin: 0 auto; }

#p-kosten .kosten-crumb {
  display: flex; align-items: center; gap: 6px;
  font-size: 11.5px; color: var(--tx3);
  margin-bottom: 18px;
}
#p-kosten .kosten-crumb-eyebrow { text-transform: uppercase; letter-spacing: .05em; }
#p-kosten .kosten-crumb-dot   { font-style: normal; color: var(--tx3); margin: 0 var(--space-1); }
#p-kosten .kosten-crumb-dash  { font-style: normal; color: var(--tx3); margin: 0 3px; }
#p-kosten .kosten-crumb-title { font-size: 13px; color: var(--tx); font-weight: 500; }
#p-kosten .kosten-crumb-title i { font-style: normal; color: var(--ac); }
#p-kosten .kosten-crumb-info {
  background: transparent; border: 0; color: var(--tx3); cursor: help; padding: 2px;
  display: inline-flex; align-items: center; margin-left: var(--space-1);
}
#p-kosten .kosten-crumb-info svg { width: 14px; height: 14px; }

/* — Sektion 1: Tiles ───────────────────────────────────────────────── */
#p-kosten .kosten-tiles {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;
  margin-bottom: 22px;
}
#p-kosten .kosten-tile {
  background: var(--sur); border: 1px solid var(--bd); border-radius: var(--radius-lg);
  padding: var(--space-4) 18px; position: relative; overflow: hidden;
  transition: border-color .15s, transform .15s;
}
#p-kosten .kosten-tile:hover { border-color: var(--bd2); }
#p-kosten .kosten-tile::before {
  content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 3px;
  background: var(--ac); opacity: .9;
}
#p-kosten .kosten-tile[data-period="today"]::before { background: var(--ac); }
#p-kosten .kosten-tile[data-period="month"]::before { background: var(--ac3); }
#p-kosten .kosten-tile[data-period="year"]::before  { background: var(--ac4); }
#p-kosten .kosten-tile[data-period="all"]::before   { background: var(--tx3); opacity: .5; }
#p-kosten .kt-label {
  font-size: 11px; color: var(--tx3); text-transform: uppercase; letter-spacing: .04em;
  margin-bottom: 6px; font-weight: 500;
}
#p-kosten .kt-value {
  font-size: 26px; font-weight: 600; color: var(--tx);
  font-family: 'DM Mono', monospace; line-height: 1.1; margin-bottom: var(--space-1);
}
#p-kosten .kt-gross {
  font-size: 12px; color: var(--tx3); text-decoration: line-through;
  font-weight: 400; margin-left: 6px;
}
#p-kosten .kt-meta { font-size: 11px; color: var(--tx3); }
#p-kosten .kosten-tile.is-loading .kt-value { color: var(--tx3); }

/* — Section-Headers ─────────────────────────────────────────────────── */
#p-kosten .kosten-section {
  background: var(--sur); border: 1px solid var(--bd); border-radius: var(--radius-lg);
  margin-bottom: var(--space-4); overflow: hidden;
}
#p-kosten .kosten-section-head {
  display: flex; align-items: center; gap: var(--space-3);
  padding: var(--space-3) 18px; border-bottom: 1px solid var(--bd);
  background: var(--sur2);
}
#p-kosten .kosten-section-head h3 {
  margin: 0; font-size: 13px; font-weight: 600; color: var(--tx);
}
#p-kosten .kosten-section-sub {
  font-size: 11px; color: var(--tx3); font-family: 'DM Mono', monospace;
}
#p-kosten .kosten-reload {
  margin-left: auto; background: transparent; border: 1px solid var(--bd);
  border-radius: var(--radius-md); padding: var(--space-1) var(--space-2); color: var(--tx2); cursor: pointer;
  display: inline-flex; align-items: center; transition: all .12s;
}
#p-kosten .kosten-reload svg { width: 13px; height: 13px; transition: transform .35s ease; }
#p-kosten .kosten-reload:hover { border-color: var(--ac); color: var(--ac); }
#p-kosten .kosten-reload:hover svg { transform: rotate(180deg); }
#p-kosten .kosten-empty {
  padding: 28px; text-align: center; color: var(--tx3); font-size: 12px; font-style: italic;
}

/* — Sektion 3: Timeline (bar-chart aus CSS) ─────────────────────────── */
#p-kosten .kosten-timeline {
  display: flex; gap: var(--space-1); padding: 18px; height: 180px; align-items: flex-end;
}
#p-kosten .kt-bar-wrap {
  flex: 1; min-width: 0; display: flex; flex-direction: column-reverse;
  height: 100%; cursor: default; position: relative;
}
#p-kosten .kt-bar-wrap:hover .kt-bar-label { opacity: 1; }
#p-kosten .kt-bar-stack {
  display: flex; flex-direction: column-reverse; width: 100%; min-height: 2px;
  border-radius: 3px 3px 0 0; overflow: hidden; transition: opacity .15s;
}
#p-kosten .kt-bar-wrap:hover .kt-bar-stack { opacity: .85; }
#p-kosten .kt-bar-seg { width: 100%; transition: filter .15s; }
#p-kosten .kt-bar-seg.is-places         { background: var(--ac); }
#p-kosten .kt-bar-seg.is-places-fallback { background: var(--ac);  opacity: .55; }
#p-kosten .kt-bar-seg.is-gemini         { background: var(--ac3); }
#p-kosten .kt-bar-seg.is-google-solar   { background: #60a5fa; }
#p-kosten .kt-bar-seg.is-workers-ai     { background: var(--ac3); opacity: .55; }
#p-kosten .kt-bar-seg.is-nominatim,
#p-kosten .kt-bar-seg.is-doh,
#p-kosten .kt-bar-seg.is-esri           { background: var(--tx3); opacity: .35; }
#p-kosten .kt-bar-label {
  position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%);
  font-size: 9.5px; color: var(--tx3); font-family: 'DM Mono', monospace;
  white-space: nowrap; opacity: 0; transition: opacity .15s; pointer-events: none;
}
#p-kosten .kt-bar-label b { color: var(--tx); font-weight: 600; }
#p-kosten .kosten-timeline-legend {
  display: flex; flex-wrap: wrap; gap: var(--space-3); padding: 0 18px 18px;
  font-size: 11px; color: var(--tx2);
}
#p-kosten .kt-lg { display: inline-flex; align-items: center; gap: 5px; }
#p-kosten .kt-lg-swatch {
  width: 10px; height: 10px; border-radius: 2px; display: inline-block;
}

/* — Sektion 2: Service-Breakdown ───────────────────────────────────── */
#p-kosten .kosten-services {
  padding: 0;
}
#p-kosten .ks-row {
  display: grid; grid-template-columns: 26px 1fr 90px 110px 90px 130px;
  align-items: center; gap: 14px; padding: var(--space-3) 18px;
  border-bottom: 1px solid var(--bd);
}
#p-kosten .ks-row:last-child { border-bottom: 0; }
#p-kosten .ks-row.is-head {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em;
  color: var(--tx3); font-weight: 500; padding: var(--space-2) 18px;
  background: var(--sur2); border-bottom: 1px solid var(--bd);
}
#p-kosten .ks-swatch {
  width: 10px; height: 10px; border-radius: 50%; display: inline-block;
}
#p-kosten .ks-swatch.is-places         { background: var(--ac); }
#p-kosten .ks-swatch.is-places-fallback { background: var(--ac); opacity: .55; }
#p-kosten .ks-swatch.is-gemini         { background: var(--ac3); }
#p-kosten .ks-swatch.is-google-solar   { background: #60a5fa; }
#p-kosten .ks-swatch.is-workers-ai     { background: var(--ac3); opacity: .55; }
#p-kosten .ks-swatch.is-nominatim,
#p-kosten .ks-swatch.is-doh,
#p-kosten .ks-swatch.is-esri           { background: var(--tx3); opacity: .55; }
#p-kosten .ks-swatch.is-fixed          { background: #a78bfa; }
#p-kosten .ks-row.is-fixed             { border-top: 1px dashed var(--bd); margin-top: 6px; padding-top: 14px; }
#p-kosten .ks-name {
  font-size: 13px; color: var(--tx); font-weight: 500;
}
#p-kosten .ks-name em {
  display: block; font-size: 10.5px; color: var(--tx3); font-style: normal;
  margin-top: 2px;
}
#p-kosten .ks-count, #p-kosten .ks-month, #p-kosten .ks-total {
  font-family: 'DM Mono', monospace; font-size: 12px; color: var(--tx); text-align: right;
}
#p-kosten .ks-price {
  font-family: 'DM Mono', monospace; font-size: 11.5px; color: var(--tx2); text-align: right;
}
#p-kosten .ks-price.is-free { color: var(--ac); }

/* — Sektion 4: Letzte Calls ────────────────────────────────────────── */
#p-kosten .kosten-recent { padding: 0; max-height: 460px; overflow-y: auto; }
#p-kosten .kr-row {
  display: grid; grid-template-columns: 140px 110px 1fr 80px;
  align-items: center; gap: var(--space-3); padding: var(--space-2) 18px;
  border-bottom: 1px solid var(--bd); font-size: 12px;
}
#p-kosten .kr-row:last-child { border-bottom: 0; }
#p-kosten .kr-row.is-head {
  font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em;
  color: var(--tx3); padding: var(--space-2) 18px;
  background: var(--sur2); position: sticky; top: 0; z-index: 1;
}
#p-kosten .kr-time {
  font-family: 'DM Mono', monospace; color: var(--tx3); font-size: 11px;
}
#p-kosten .kr-service {
  display: inline-flex; align-items: center; gap: 6px; color: var(--tx2);
}
#p-kosten .kr-key {
  font-family: 'DM Mono', monospace; font-size: 11px; color: var(--tx2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#p-kosten .kr-cost {
  font-family: 'DM Mono', monospace; font-size: 11.5px; color: var(--tx); text-align: right;
}
#p-kosten .kr-cost.is-free { color: var(--tx3); }

/* Responsive (kleine Bildschirme) */
@media (max-width: 900px) {
  #p-kosten .kosten-tiles { grid-template-columns: repeat(2, 1fr); }
  #p-kosten .ks-row { grid-template-columns: 20px 1fr 70px 90px; }
  #p-kosten .ks-row > :nth-child(5), #p-kosten .ks-row > :nth-child(6) { display: none; }
  #p-kosten .kr-row { grid-template-columns: 90px 90px 1fr 70px; }
}

/* Fixkosten-Section — Server-Mieten + andere monatliche Pauschal-Posten. */
#p-kosten .kosten-fixed-list{
  display:flex;flex-direction:column;gap: var(--space-2);
}
#p-kosten .kosten-fixed-row{
  display:flex;justify-content:space-between;align-items:flex-start;gap: 14px;
  padding: var(--space-3) 14px;background:var(--sur);border:1px solid var(--bd);border-radius: 9px;
}
#p-kosten .kosten-fixed-main{flex:1;min-width:0}
#p-kosten .kosten-fixed-label{font-size:12.5px;font-weight:600;color:var(--tx)}
#p-kosten .kosten-fixed-purpose{font-size:11px;color:var(--tx2);margin-top: 2px}
#p-kosten .kosten-fixed-notes{font-size:10.5px;color:var(--tx3);margin-top: var(--space-1);font-style:italic}
#p-kosten .kosten-fixed-amount{
  font-size:14px;font-weight:700;color:var(--ac3);font-family:'DM Mono',monospace;
  flex-shrink:0;text-align:right;
}
#p-kosten .kosten-fixed-period{font-size:10px;color:var(--tx3);font-weight:500;margin-left: 2px}
#p-kosten .kosten-section-sub{font-size:11.5px;color:var(--tx3);font-weight:500}

/* Kalender (Mockup-Stand 2026-05-14) — Page für Wiedervorlagen + Termine.
   Aufbau orientiert sich an Pipeline/Daten-Check Look (Crumb + Toolbar +
   Section-Cards). Grid-Look angelehnt an Google Calendar.            */

#p-kalender { padding: 18px var(--space-5) 80px; max-width: 1480px; margin: 0 auto; }

#p-kalender .kal-crumb {
  display: flex; align-items: center; gap: 6px;
  font-size: 11.5px; color: var(--tx3); margin-bottom: 14px;
}
#p-kalender .kal-crumb-eyebrow { text-transform: uppercase; letter-spacing: .05em; }
#p-kalender .kal-crumb-dot, #p-kalender .kal-crumb-dash {
  font-style: normal; color: var(--tx3); margin: 0 var(--space-1);
}
#p-kalender .kal-crumb-title { font-size: 13px; color: var(--tx); font-weight: 500; }
#p-kalender .kal-crumb-title i { font-style: normal; color: var(--ac); }
#p-kalender .kal-crumb-info {
  background: transparent; border: 0; color: var(--tx3); cursor: help;
  padding: 2px; display: inline-flex; align-items: center; margin-left: var(--space-1);
}
#p-kalender .kal-crumb-info svg { width: 14px; height: 14px; }

/* — Sync-Bar (Google Calendar) ────────────────────────────────────────── */
#p-kalender .kal-sync {
  display: flex; align-items: center; gap: 14px;
  padding: var(--space-3) var(--space-4); margin-bottom: 14px;
  background: var(--sur); border: 1px solid var(--bd); border-radius: 8px;
}
#p-kalender .kal-sync-state {
  display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0;
}
#p-kalender .kal-sync-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--tx3);
}
#p-kalender .kal-sync-dot.is-disconnected { background: var(--ac4); }
#p-kalender .kal-sync-dot.is-connected    { background: #2dbf6c; box-shadow: 0 0 6px rgba(45,191,108,.4); }
#p-kalender .kal-sync-text { font-size: 13px; color: var(--tx); font-weight: 500; }
#p-kalender .kal-sync-sub  { font-size: 11px; color: var(--tx3); font-style: normal; }

/* — Toolbar (Nav + Views + Aktion) ───────────────────────────────────── */
#p-kalender .kal-toolbar {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: var(--space-3);
}
#p-kalender .kal-nav {
  display: flex; align-items: center; gap: 6px;
}
#p-kalender .kal-btn-today {
  background: transparent; border: 1px solid var(--bd); color: var(--tx);
  border-radius: 7px; padding: 7px 14px; font-size: 12px;
  font-family: inherit; cursor: pointer; transition: all .12s;
}
#p-kalender .kal-btn-today:hover { border-color: var(--ac); color: var(--ac); }
#p-kalender .kal-range {
  margin-left: 10px; font-size: 12.5px; color: var(--tx2); font-weight: 500;
}
#p-kalender .kal-spacer { flex: 1; }
#p-kalender .kal-views {
  display: inline-flex; background: var(--sur); border: 1px solid var(--bd);
  border-radius: 7px; padding: 2px; gap: 1px;
}
#p-kalender .kal-view {
  background: transparent; border: 0; color: var(--tx2);
  font-size: 11.5px; padding: 5px var(--space-3); cursor: pointer;
  border-radius: 5px; font-family: inherit; transition: all .12s;
}
#p-kalender .kal-view:hover { color: var(--tx); }
#p-kalender .kal-view.on {
  background: var(--ac); color: #fff; font-weight: 500;
}

/* Generische Buttons */
#p-kalender .kal-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: transparent; border: 1px solid var(--bd); color: var(--tx2);
  font-size: 12px; padding: 7px 13px; border-radius: 7px;
  font-family: inherit; cursor: pointer; transition: all .12s;
}
#p-kalender .kal-btn:hover { background: var(--sur2); border-color: var(--bd2); color: var(--tx); }
#p-kalender .kal-btn-pri {
  background: var(--ac); border-color: var(--ac); color: #fff; font-weight: 500;
}
#p-kalender .kal-btn-pri:hover { background: var(--ac); border-color: var(--ac); color: #fff; opacity: .92; }
#p-kalender .kal-btn-pri svg { width: 14px; height: 14px; }
#p-kalender .kal-btn-danger {
  border-color: var(--ac4); color: var(--ac4);
}
#p-kalender .kal-btn-danger:hover { background: var(--ac4); color: #fff; }
#p-kalender .kal-icon {
  background: transparent; border: 1px solid var(--bd); color: var(--tx2);
  font-size: 14px; line-height: 1; padding: 6px 10px;
  border-radius: var(--radius-md); font-family: inherit; cursor: pointer; transition: all .12s;
}
#p-kalender .kal-icon:hover { background: var(--sur2); color: var(--ac); border-color: var(--ac); }

/* — Filter-Pills ─────────────────────────────────────────────────────── */
#p-kalender .kal-filters {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px;
}
#p-kalender .kal-pill {
  display: inline-flex; align-items: center; gap: 5px;
  background: var(--sur); border: 1px solid var(--bd); color: var(--tx2);
  font-size: 11.5px; padding: 5px 11px; border-radius: 13px;
  font-family: inherit; cursor: pointer; transition: all .12s; opacity: .55;
}
#p-kalender .kal-pill.on { opacity: 1; border-color: var(--bd2); color: var(--tx); }
#p-kalender .kal-pill.is-wv.on     { border-color: #4485f4; color: #4485f4; }
#p-kalender .kal-pill.is-termin.on { border-color: #2dbf6c; color: #2dbf6c; }
#p-kalender .kal-pill.is-solar.on  { border-color: #f5a623; color: #f5a623; }
#p-kalender .kal-pill.is-task.on   { border-color: var(--tx3); color: var(--tx2); }
#p-kalender .kal-pill-cnt {
  font-family: 'DM Mono', monospace; font-size: 10.5px;
  background: var(--sur2); padding: 1px 5px; border-radius: 8px;
}

/* — Grid: Wochen-Ansicht (Default) ───────────────────────────────────── */
#p-kalender .kal-grid {
  background: var(--sur); border: 1px solid var(--bd); border-radius: 8px;
  overflow: hidden; min-height: 580px; position: relative;
}
#p-kalender .kal-loading {
  padding: 60px 0; text-align: center; color: var(--tx3); font-size: 12px;
}

#p-kalender .kal-week {
  display: grid; grid-template-columns: 56px repeat(7, 1fr); height: 100%;
}
#p-kalender .kal-week-corner {
  background: var(--sur2); border-bottom: 1px solid var(--bd); border-right: 1px solid var(--bd);
  height: 56px;
}
#p-kalender .kal-week-day {
  background: var(--sur2); border-bottom: 1px solid var(--bd);
  border-right: 1px solid var(--bd); padding: var(--space-2) 10px; text-align: center;
  position: sticky; top: 0; z-index: 2;
}
#p-kalender .kal-week-day:last-child { border-right: 0; }
#p-kalender .kal-day-name { font-size: 10.5px; color: var(--tx3); text-transform: uppercase; letter-spacing: .04em; }
#p-kalender .kal-day-num {
  font-size: 17px; font-weight: 500; color: var(--tx); margin-top: 2px;
  display: inline-block; line-height: 1; padding: var(--space-1) var(--space-2); border-radius: 50%;
}
#p-kalender .kal-week-day.is-today .kal-day-num {
  background: var(--ac); color: #fff;
}

/* Zeit-Spalte links */
#p-kalender .kal-time-col {
  border-right: 1px solid var(--bd); background: var(--sur);
}
#p-kalender .kal-time-slot {
  height: 44px; padding: 2px 6px 0 0; text-align: right;
  font-size: 10px; color: var(--tx3); font-family: 'DM Mono', monospace;
  border-bottom: 1px solid rgba(0,0,0,.04);
}
/* Day-Zellen */
#p-kalender .kal-day-col {
  border-right: 1px solid var(--bd); position: relative; background: var(--sur);
}
#p-kalender .kal-day-col:last-child { border-right: 0; }
#p-kalender .kal-day-col.is-today { background: rgba(122,128,36,.025); }
#p-kalender .kal-day-slot {
  height: 44px; border-bottom: 1px solid rgba(0,0,0,.04);
}

/* Event-Card im Grid */
#p-kalender .kal-event {
  position: absolute; left: 4px; right: 4px;
  border-radius: var(--radius-md); padding: var(--space-1) 7px;
  font-size: 11px; line-height: 1.3;
  cursor: pointer; overflow: hidden;
  transition: all .12s; border-left: 3px solid;
}
#p-kalender .kal-event:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,.10); z-index: 3; }
#p-kalender .kal-event-title { font-weight: 500; color: var(--tx); }
#p-kalender .kal-event-sub { font-size: 10px; color: var(--tx3); margin-top: 1px; }
#p-kalender .kal-event-time { font-size: 10px; color: var(--tx2); font-family: 'DM Mono', monospace; margin-top: 1px; }
#p-kalender .kal-event-sync {
  position: absolute; top: 3px; right: 4px;
  font-size: 10px; opacity: .6;
}

#p-kalender .kal-event.is-wv     { background: rgba(68,133,244,.10); border-left-color: #4485f4; color: #2451b2; }
#p-kalender .kal-event.is-termin { background: rgba(45,191,108,.12); border-left-color: #2dbf6c; color: #1c7344; }
#p-kalender .kal-event.is-solar  { background: rgba(245,166,35,.12); border-left-color: #f5a623; color: #a06400; }
#p-kalender .kal-event.is-task   { background: var(--sur2); border-left-color: var(--tx3); color: var(--tx2); }
#p-kalender .kal-event-title b { font-weight: 600; }

/* Month-View */
#p-kalender .kal-month {
  display: grid; grid-template-columns: repeat(7, 1fr); height: 100%; min-height: 560px;
}
#p-kalender .kal-month-header {
  background: var(--sur2); border-bottom: 1px solid var(--bd); border-right: 1px solid var(--bd);
  padding: 7px 10px; font-size: 10.5px; color: var(--tx3);
  text-transform: uppercase; letter-spacing: .04em;
}
#p-kalender .kal-month-header:last-child { border-right: 0; }
#p-kalender .kal-month-cell {
  border-right: 1px solid var(--bd); border-bottom: 1px solid var(--bd);
  padding: 6px var(--space-2); min-height: 88px; position: relative;
}
#p-kalender .kal-month-cell.is-other { background: var(--sur2); opacity: .55; }
#p-kalender .kal-month-cell.is-today { background: rgba(122,128,36,.05); }
#p-kalender .kal-month-cell:nth-child(7n) { border-right: 0; }
#p-kalender .kal-month-num {
  font-size: 11.5px; color: var(--tx2); font-weight: 500;
}
#p-kalender .kal-month-cell.is-today .kal-month-num {
  background: var(--ac); color: #fff; border-radius: 50%; padding: 2px 6px;
}
#p-kalender .kal-month-event {
  display: block; font-size: 10px; padding: 2px 6px;
  border-radius: 3px; margin-top: 3px; cursor: pointer;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  border-left: 2px solid;
}
#p-kalender .kal-month-event.is-wv     { background: rgba(68,133,244,.12); color: #2451b2; border-left-color: #4485f4; }
#p-kalender .kal-month-event.is-termin { background: rgba(45,191,108,.12); color: #1c7344; border-left-color: #2dbf6c; }
#p-kalender .kal-month-event.is-solar  { background: rgba(245,166,35,.12); color: #a06400; border-left-color: #f5a623; }
#p-kalender .kal-month-event.is-task   { background: var(--sur2); color: var(--tx2); border-left-color: var(--tx3); }

/* List-View */
#p-kalender .kal-list { padding: 0; }
#p-kalender .kal-list-row {
  display: grid; grid-template-columns: 120px 80px 1fr 140px 100px;
  align-items: center; gap: var(--space-3); padding: 10px 18px;
  border-bottom: 1px solid var(--bd); cursor: pointer;
}
#p-kalender .kal-list-row:hover { background: var(--sur2); }
#p-kalender .kal-list-row:last-child { border-bottom: 0; }
#p-kalender .kal-list-date { font-size: 12px; color: var(--tx); font-family: 'DM Mono', monospace; }
#p-kalender .kal-list-time { font-size: 11.5px; color: var(--tx3); font-family: 'DM Mono', monospace; }
#p-kalender .kal-list-type {
  display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--tx2);
}
#p-kalender .kal-list-type::before { content: ''; width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
#p-kalender .kal-list-type.is-wv::before     { background: #4485f4; }
#p-kalender .kal-list-type.is-termin::before { background: #2dbf6c; }
#p-kalender .kal-list-type.is-solar::before  { background: #f5a623; }
#p-kalender .kal-list-type.is-task::before   { background: var(--tx3); }
#p-kalender .kal-list-title { font-size: 12.5px; color: var(--tx); font-weight: 500; }
#p-kalender .kal-list-customer { font-size: 11.5px; color: var(--tx2); }
#p-kalender .kal-list-sync { text-align: right; }
#p-kalender .kal-sync-badge {
  font-size: 10px; padding: 2px 7px; border-radius: 8px; font-family: 'DM Mono', monospace;
}
#p-kalender .kal-sync-badge.is-pending { background: rgba(190,140,80,.10); color: var(--ac4); }
#p-kalender .kal-sync-badge.is-synced  { background: rgba(45,191,108,.12); color: #1c7344; }

/* — Slide-In Detail-Panel ─────────────────────────────────────────────── */
#p-kalender .kal-detail {
  position: fixed; top: 0; right: 0; bottom: 0; width: 420px;
  background: var(--sur); border-left: 1px solid var(--bd);
  box-shadow: -4px 0 16px rgba(0,0,0,.08);
  z-index: 50; overflow-y: auto;
  transform: translateX(0); transition: transform .25s;
}
#p-kalender .kal-detail[hidden] { display: block !important; transform: translateX(100%); pointer-events: none; }
#p-kalender .kal-detail-head {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px; border-bottom: 1px solid var(--bd);
}
#p-kalender .kal-detail-head h3 {
  margin: 0; flex: 1; font-size: 14px; font-weight: 600; color: var(--tx);
}
#p-kalender .kal-detail-type-pill {
  font-size: 10px; padding: 2px var(--space-2); border-radius: 9px;
  font-weight: 500; text-transform: uppercase; letter-spacing: .04em;
}
#p-kalender .kal-detail-type-pill.is-wv     { background: rgba(68,133,244,.10); color: #2451b2; }
#p-kalender .kal-detail-type-pill.is-termin { background: rgba(45,191,108,.12); color: #1c7344; }
#p-kalender .kal-detail-type-pill.is-solar  { background: rgba(245,166,35,.12); color: #a06400; }
#p-kalender .kal-detail-type-pill.is-task   { background: var(--sur2); color: var(--tx2); }
#p-kalender .kal-detail-close {
  border: 0; padding: var(--space-1) 9px; font-size: 14px;
}
#p-kalender .kal-detail-body { padding: var(--space-4) 18px; }
#p-kalender .kal-det-row {
  display: grid; grid-template-columns: 100px 1fr; gap: 10px;
  padding: var(--space-2) 0; border-bottom: 1px solid var(--bd);
}
#p-kalender .kal-det-row:last-of-type { border-bottom: 0; }
#p-kalender .kal-det-k { font-size: 11px; color: var(--tx3); text-transform: uppercase; letter-spacing: .04em; padding-top: 2px; }
#p-kalender .kal-det-v { font-size: 13px; color: var(--tx); }
#p-kalender .kal-detail-actions {
  display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: 18px;
}

/* — Reminder-Toast ──────────────────────────────────────────────────── */
#p-kalender .kal-reminder {
  position: fixed; bottom: 24px; right: 24px;
  display: flex; align-items: center; gap: var(--space-3);
  background: var(--sur); border: 1px solid var(--ac3);
  border-left: 4px solid var(--ac3); border-radius: 8px;
  padding: var(--space-3) 14px; min-width: 320px; max-width: 420px;
  box-shadow: 0 4px 16px rgba(0,0,0,.12); z-index: 100;
  animation: kal-rem-in .25s ease-out;
}
#p-kalender .kal-reminder[hidden] { display: none; }
#p-kalender .kal-reminder-icon { font-size: 22px; }
#p-kalender .kal-reminder-body { flex: 1; min-width: 0; }
#p-kalender .kal-reminder-title { font-size: 12.5px; color: var(--tx); font-weight: 500; line-height: 1.4; }
#p-kalender .kal-reminder-sub { font-size: 11px; color: var(--tx3); margin-top: 2px; }
@keyframes kal-rem-in {
  from { transform: translateY(20px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}

/* Responsive — Slide-In Vollbreite auf Mobile */
@media (max-width: 720px) {
  #p-kalender .kal-detail { width: 100%; }
  #p-kalender .kal-toolbar { flex-wrap: wrap; }
}

/* Google Kalender Setup-Page — System → Repowering → Google Kalender.
   Folgt strikt dem Plattform-Stil (feedback_neue_pages_plattform_stil):
   - CSS-Variablen aus css/base/variables.css
   - Globale .btn / .btn.pri / .btn.dan Klassen aus components/buttons.css
   - Layout-Pattern wie kosten.css (slim Breadcrumb + Sektionen mit --sur)
*/

#p-google-calendar-setup{
  padding: 18px var(--space-5) 80px;
  max-width:1320px;
  margin: 0 auto;
}

/* ── Breadcrumb (wie kosten.html) ─────────────────────────────────── */
#p-google-calendar-setup .gcs-crumb{
  display:flex;align-items:center;gap: 6px;flex-wrap:wrap;
  font-size:11.5px;color:var(--tx3);
  margin-bottom: 18px;
}
#p-google-calendar-setup .gcs-crumb-eyebrow{text-transform:uppercase;letter-spacing:.05em}
#p-google-calendar-setup .gcs-crumb-dot{font-style:normal;color:var(--tx3);margin: 0 var(--space-1)}
#p-google-calendar-setup .gcs-crumb-dash{font-style:normal;color:var(--tx3);margin: 0 3px}
#p-google-calendar-setup .gcs-crumb-title{font-size:13px;color:var(--tx);font-weight:500}
#p-google-calendar-setup .gcs-crumb-title i{font-style:normal;color:var(--ac)}
#p-google-calendar-setup .gcs-crumb-info{
  background:transparent;border:0;color:var(--tx3);cursor:help;padding: 2px;
  display:inline-flex;align-items:center;margin-left: var(--space-1);
}
#p-google-calendar-setup .gcs-crumb-info svg{width:14px;height:14px}

/* ── Sektion-Cards (wie .kosten-section) ──────────────────────────── */
#p-google-calendar-setup .gcs-section{
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: var(--radius-lg);
  margin-bottom: var(--space-4);
  overflow:hidden;
}
#p-google-calendar-setup .gcs-section.gcs-hidden{display:none}

#p-google-calendar-setup .gcs-sec-head{
  padding: 14px 18px 6px;
}
#p-google-calendar-setup .gcs-sec-title{
  font-size:13px;font-weight:600;color:var(--tx);margin-bottom: var(--space-1);
}
#p-google-calendar-setup .gcs-sec-sub{
  font-size:11.5px;color:var(--tx3);line-height:1.5;
}

/* ── Verbindungs-Sektion ──────────────────────────────────────────── */
#p-google-calendar-setup .gcs-conn-body{
  display:flex;align-items:center;gap: 14px;
  padding: var(--space-2) 18px 18px;flex-wrap:wrap;
}
#p-google-calendar-setup .gcs-conn-state{
  flex:1;font-size:12.5px;color:var(--tx);min-width:0;
}
#p-google-calendar-setup .gcs-conn-state strong{font-weight:600}
#p-google-calendar-setup .gcs-conn-state em{
  font-style:normal;color:var(--tx3);font-size:11px;display:block;margin-top: 3px;
}
#p-google-calendar-setup .gcs-conn-state.is-connected::before{
  content:"●";color:#4ade80;margin-right: var(--space-2);font-size:11px;vertical-align:1px;
}
#p-google-calendar-setup .gcs-conn-state.is-disconnected::before{
  content:"●";color:var(--ac4);margin-right: var(--space-2);font-size:11px;vertical-align:1px;
}

/* ── Master + Mapping-Body ────────────────────────────────────────── */
#p-google-calendar-setup .gcs-master-body{
  padding: var(--space-2) 18px 18px;
  display:flex;gap: 10px;align-items:center;flex-wrap:wrap;
}
#p-google-calendar-setup .gcs-mapping-body{padding: var(--space-2) 18px 18px}
#p-google-calendar-setup .gcs-sync-body{
  padding: var(--space-2) 18px 18px;
  display:flex;align-items:center;gap: var(--space-3);
}
#p-google-calendar-setup .gcs-sync-status{
  font-size:11.5px;color:var(--tx3);font-family:'DM Mono',monospace;
}

/* ── Inputs / Selects (Plattform-Standard, lokal scoped) ──────────── */
#p-google-calendar-setup .gcs-select,
#p-google-calendar-setup .gcs-input{
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: var(--radius-md);
  color:var(--tx);
  padding: 7px 10px;
  font-size:12px;
  font-family:'DM Sans',sans-serif;
  min-width:240px;
  transition:border-color .12s;
}
#p-google-calendar-setup .gcs-input-sm{min-width:140px}
#p-google-calendar-setup .gcs-select:focus,
#p-google-calendar-setup .gcs-input:focus{
  outline:none;border-color:var(--ac);
}
#p-google-calendar-setup .gcs-select:hover,
#p-google-calendar-setup .gcs-input:hover{border-color:var(--bd2)}

/* ── Tabelle (Mapping) — Plattform-Tabellen-Stil ──────────────────── */
#p-google-calendar-setup .gcs-table{
  width:100%;border-collapse:collapse;font-size:12px;
}
#p-google-calendar-setup .gcs-table th{
  text-align:left;font-weight:500;color:var(--tx3);
  font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
  padding: var(--space-2) 10px;border-bottom:1px solid var(--bd);
}
#p-google-calendar-setup .gcs-table td{
  padding: 9px 10px;border-bottom:1px solid var(--bd);color:var(--tx);
}
#p-google-calendar-setup .gcs-table tbody tr:last-child td{border-bottom:none}
#p-google-calendar-setup .gcs-table tbody tr:hover{background:var(--sur2)}
#p-google-calendar-setup .gcs-table td:last-child{text-align:right;width:90px}

#p-google-calendar-setup .gcs-mapping-add{
  margin-top: var(--space-3);display:flex;gap: var(--space-2);flex-wrap:wrap;
  padding-top: 14px;border-top:1px dashed var(--bd);
}

/* ── Toast (?connected=1 nach OAuth-Callback) ────────────────────── */
#p-google-calendar-setup .gcs-toast{
  background:rgba(74,222,128,.08);
  border:1px solid rgba(74,222,128,.35);
  color:#4ade80;
  padding: 10px 14px;border-radius: 8px;margin-bottom: 14px;font-size:12px;
}
#p-google-calendar-setup .gcs-toast.is-error{
  background:rgba(248,113,113,.08);
  border-color:rgba(248,113,113,.25);
  color:var(--ac4);
}

#p-google-calendar-setup .gcs-spinner{
  font-size:11.5px;color:var(--tx3);font-style:italic;
  padding: var(--space-2) 18px 18px;
}

/* ── ACL-Slide-In (Freigaben) ─────────────────────────────────────── */
#gcs-acl-panel{padding: 22px var(--space-5)}
#gcs-acl-panel .gcs-acl-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap: var(--space-4);
  margin-bottom: 18px;padding-bottom: 14px;border-bottom:1px solid var(--bd);
}
#gcs-acl-panel .gcs-acl-eyebrow{
  font-family:'DM Mono',monospace;font-size:10.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.07em;color:var(--tx3);margin-bottom: var(--space-1);
}
#gcs-acl-panel .gcs-acl-title h3{
  margin: 0;font-size:15px;font-weight:600;color:var(--tx);
}
#gcs-acl-panel .gcs-acl-rules{
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  margin-bottom: 18px;overflow:hidden;
}
#gcs-acl-panel .gcs-acl-rules .gcs-table th,
#gcs-acl-panel .gcs-acl-rules .gcs-table td{padding: 9px var(--space-3)}
#gcs-acl-panel .gcs-acl-add{
  background:var(--sur);border:1px solid var(--bd);border-radius: 8px;padding: 14px;
}
#gcs-acl-panel .gcs-acl-role-select{
  background:var(--sur2);border:1px solid var(--bd);border-radius: 5px;
  color:var(--tx);padding: 5px var(--space-2);font-size:11.5px;font-family:'DM Sans',sans-serif;
}
#gcs-acl-panel .gcs-acl-role-select:focus{outline:none;border-color:var(--ac)}

/* ── Link-Style-Button (für „Entfernen" in Tabellen-Zeilen) ───────── */
#p-google-calendar-setup .gcs-btn-link{
  background:none;border:none;color:var(--tx2);padding: var(--space-1) var(--space-2);cursor:pointer;
  font-size:11.5px;font-family:'DM Sans',sans-serif;transition:color .12s;
}
#p-google-calendar-setup .gcs-btn-link:hover{color:var(--ac4);text-decoration:underline}

/* E-Mail-Setup-Page — Plattform-Stil konsistent zu Users + Google-Cal-Setup. */

#p-email-setup{padding: var(--space-5) 28px 80px;max-width:1024px;margin: 0 auto}

/* ── Section-Container (analog Users/Tasks Card-Pattern) ─────────── */
#p-email-setup .es-section{
  margin-bottom: 18px;
}
#p-email-setup .es-sec-head{
  margin-bottom: 14px;
}
#p-email-setup .es-sec-title{
  font-family:'DM Mono',monospace;font-size:10.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;color:var(--tx3);
  margin-bottom: 6px;
}
#p-email-setup .es-sec-sub{
  font-size:12px;color:var(--tx2);line-height:1.5;max-width:640px;
}

/* ── Account-Cards (analog users-row Card-Reihen) ────────────────── */
#p-email-setup .es-accounts{
  display:flex;flex-direction:column;gap: 6px;margin-bottom: 14px;
}
#p-email-setup .es-acct-row{
  display:grid;
  grid-template-columns:42px 1fr minmax(180px,auto) 100px 32px;
  align-items:center;gap: 14px;
  padding: var(--space-3) var(--space-4);
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: var(--radius-lg);
  transition:border-color .15s, background .15s;
}
#p-email-setup .es-acct-row:hover{border-color:var(--bd2)}

#p-email-setup .es-acct-icon{
  width:38px;height:38px;border-radius: 50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(213,217,96,.16);color:var(--ac);
  border:1px solid rgba(213,217,96,.32);font-size:15px;
}

#p-email-setup .es-acct-main{min-width:0;display:flex;align-items:center;gap: 10px;flex-wrap:wrap}
#p-email-setup .es-acct-email{
  font-size:13px;font-weight:600;color:var(--tx);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-email-setup .es-acct-label{
  font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace;
  display:block;width:100%;margin-top: 1px;
}
#p-email-setup .es-acct-default{
  display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.05em;
  background:rgba(74,222,128,.14);color:#4ade80;
  padding: 2px 7px;border-radius: 5px;text-transform:uppercase;
}
#p-email-setup .es-acct-tag{
  display:inline-block;font-size:9.5px;font-weight:600;letter-spacing:.05em;
  background:rgba(255,255,255,.06);color:var(--tx2);
  padding: 2px 7px;border-radius: 5px;text-transform:uppercase;margin-left: var(--space-1);
}
#p-email-setup .es-acct-tag.is-admin       { background:rgba(239,68,68,.15);  color:#ef4444; }
#p-email-setup .es-acct-tag.is-service     { background:rgba(76,150,255,.15); color:#4c96ff; }
#p-email-setup .es-acct-tag.is-privat      { background:rgba(168,85,247,.15); color:#a855f7; }
#p-email-setup .es-acct-tag.is-buchhaltung { background:rgba(245,158,11,.15); color:#f59e0b; }
#p-email-setup .es-acct-tag.is-repowering  { background:rgba(34,197,94,.15);  color:#22c55e; }
#p-email-setup .es-acct-tag.is-support     { background:rgba(99,102,241,.15); color:#6366f1; }
#p-email-setup .es-acct-row { cursor:pointer; }

/* Edit-Modal */
.es-edit-modal{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1100;
  display:flex;align-items:center;justify-content:center;padding: 20px;
}
.es-edit-modal[hidden]{display:none;}
.es-edit-card{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  max-width:560px;width:100%;display:flex;flex-direction:column;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.es-edit-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding: 14px 18px;border-bottom:1px solid var(--bd);
}
.es-edit-head h3{margin: 0;font-size:15px;color:var(--tx);}
.es-edit-eyebrow{
  font-size:10px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--tx3);font-weight:600;margin-bottom: 3px;
}
.es-edit-head button{
  background:none;border:none;color:var(--tx3);font-size:18px;cursor:pointer;
}
.es-edit-body{padding: var(--space-4) 18px;display:flex;flex-direction:column;gap: var(--space-3);}
.es-edit-field{display:flex;flex-direction:column;gap: var(--space-1);}
.es-edit-field label{
  font-size:10px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--tx3);font-weight:600;
}
.es-edit-field input,.es-edit-field select,.es-edit-field textarea{
  padding: var(--space-2) 10px;background:var(--sur2);border:1px solid var(--bd);
  border-radius: var(--radius-sm);color:var(--tx);font-family:inherit;font-size:12.5px;
}
.es-edit-field textarea{resize:vertical;font-family:'DM Mono',monospace;font-size:11.5px;line-height:1.5;}
.es-edit-field input:focus,.es-edit-field select:focus,.es-edit-field textarea:focus{
  outline:none;border-color:var(--ac);
}
.es-edit-foot{
  display:flex;justify-content:flex-end;gap: var(--space-2);
  padding: var(--space-3) 18px;border-top:1px solid var(--bd);
}

#p-email-setup .es-acct-meta{
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace;
  line-height:1.55;
}
#p-email-setup .es-acct-meta div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#p-email-setup .es-acct-scope{
  display:inline-block;padding: 3px 9px;border-radius: var(--radius-md);
  font-size:10.5px;font-weight:600;letter-spacing:.02em;
}
#p-email-setup .es-acct-scope.is-user{background:rgba(86,107,134,.16);color:var(--ac2)}
#p-email-setup .es-acct-scope.is-tenant{background:rgba(213,217,96,.12);color:var(--ac)}

#p-email-setup .es-acct-del{
  background:transparent;border:none;color:var(--tx3);cursor:pointer;
  font-size:16px;padding: 6px var(--space-2);border-radius: var(--radius-md);line-height:1;
  transition:background .12s, color .12s;
}
#p-email-setup .es-acct-del:hover{background:rgba(248,113,113,.10);color:var(--ac4)}

/* ── Empty-State ─────────────────────────────────────────────────── */
#p-email-setup .es-empty{
  padding: 42px var(--space-5);text-align:center;
  background:var(--sur);
  border:1px dashed var(--bd);
  border-radius: var(--radius-lg);
}
#p-email-setup .es-empty-icon{
  font-size:32px;margin-bottom: 10px;opacity:.5;
}
#p-email-setup .es-empty-title{
  font-size:13px;font-weight:600;color:var(--tx);margin-bottom: var(--space-1);
}
#p-email-setup .es-empty-sub{
  font-size:11.5px;color:var(--tx3);line-height:1.55;max-width:380px;margin: 0 auto;
}

#p-email-setup .es-add-wrap{
  display:flex;justify-content:flex-start;
}

/* ── Wizard im Slide-In ─────────────────────────────────────────── */
#es-wizard-panel{padding: 0}

/* Step-Indicator */
#es-wizard-panel .es-wsteps-indicator{
  display:flex;align-items:center;gap: 6px;
  padding: 10px 22px;background:var(--sur2);border-bottom:1px solid var(--bd);
}
#es-wizard-panel .es-wstep-dot{
  width:24px;height:24px;border-radius: 50%;
  background:var(--sur);border:1px solid var(--bd);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:600;color:var(--tx3);
}
#es-wizard-panel .es-wstep-dot.is-on{
  background:var(--ac);border-color:var(--ac);color:var(--ac-on);
}
#es-wizard-panel .es-wstep-dot.is-done{
  background:rgba(74,222,128,.18);border-color:#4ade80;color:#4ade80;
}
#es-wizard-panel .es-wstep-bar{
  flex:1;height:1px;background:var(--bd);
}

.es-error{
  background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.25);
  color:var(--ac4);padding: 9px var(--space-3);border-radius: var(--radius-md);font-size:12px;margin-top: 10px;
}

/* Erfolgs-Card */
.es-success-card{
  background:var(--sur2);border:1px solid var(--ac);border-radius: var(--radius-lg);
  padding: var(--space-4) 18px;box-shadow:0 0 0 1px rgba(213,217,96,.10);
}
.es-success-row{
  display:flex;align-items:center;gap: var(--space-3);
  padding: var(--space-2) 0;border-bottom:1px dashed var(--bd);font-size:12px;color:var(--tx);
}
.es-success-row:last-child{border-bottom:none}
.es-success-row span{
  font-family:'DM Mono',monospace;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--tx3);width:70px;flex-shrink:0;
}
.es-success-row code{font-family:'DM Mono',monospace;font-weight:500}

/* Responsive */
@media (max-width: 720px){
  #p-email-setup .es-acct-row{
    grid-template-columns:42px 1fr 32px;
    grid-template-areas:
      "icon main del"
      ".    meta meta";
    gap: 10px;
  }
  #p-email-setup .es-acct-row > .es-acct-icon{grid-area:icon}
  #p-email-setup .es-acct-row > .es-acct-main{grid-area:main}
  #p-email-setup .es-acct-row > .es-acct-meta,
  #p-email-setup .es-acct-row > .es-acct-scope-cell{grid-area:meta;font-size:10px}
  #p-email-setup .es-acct-row > .es-acct-del{grid-area:del}
}

/* E-Mail-Vorlagen — Settings-Page mit Liste links + Editor rechts.
   Auto-Save mit Status-Indikator (analog zum Pipeline-Slide-In). */

#p-email-templates{padding: var(--space-5) 28px 40px}

#p-email-templates .et-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap: var(--space-4);
  margin-bottom: 14px;
}
#p-email-templates .et-title{
  margin: 0;font-size:18px;font-weight:600;color:var(--tx);
}
#p-email-templates .et-sub{
  font-size:12.5px;color:var(--tx2);margin-top: var(--space-1);max-width:760px;line-height:1.55;
}
#p-email-templates .et-sub code{
  font-family:'DM Mono',monospace;background:var(--sur2);
  padding: 1px 5px;border-radius: var(--radius-sm);font-size:11.5px;
}

/* Filter-Pills oben — KPI-Stats-Optik (analog Pipeline) */
#p-email-templates .et-filterbar{
  display:flex;align-items:center;gap: 14px;flex-wrap:wrap;
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: var(--space-2) 14px;margin-bottom: var(--space-3);
}
#p-email-templates .et-pill{
  display:inline-flex;align-items:center;gap: 6px;
  padding: 3px var(--space-2);border:0;background:transparent;border-radius: var(--radius-md);
  font-size:11.5px;color:var(--tx2);cursor:pointer;font-family:inherit;
  transition:all .12s;
}
#p-email-templates .et-pill:hover{background:var(--sur2);color:var(--tx)}
#p-email-templates .et-pill.on{background:var(--sur2);color:var(--tx);font-weight:600}
#p-email-templates .et-pill-cnt{
  font-family:'DM Mono',monospace;font-size:12px;font-weight:600;color:var(--tx);
}
#p-email-templates .et-pill.on .et-pill-cnt{color:var(--ac)}

/* Grid Liste-links / Editor-rechts */
#p-email-templates .et-grid{
  display:grid;grid-template-columns:300px 1fr;gap: 14px;
  min-height:calc(100vh - 260px);
}
#p-email-templates .et-list{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: var(--space-2);overflow-y:auto;max-height:calc(100vh - 260px);
}
#p-email-templates .et-empty{
  padding: var(--space-5) var(--space-3);text-align:center;color:var(--tx3);font-style:italic;font-size:12px;
}
#p-email-templates .et-card{
  display:flex;flex-direction:column;gap: 3px;
  padding: 10px var(--space-3);border-radius: 8px;cursor:pointer;
  border:1px solid transparent;transition:all .12s;margin-bottom: var(--space-1);
}
#p-email-templates .et-card:hover{background:var(--sur2)}
#p-email-templates .et-card.on{background:var(--sur2);border-color:var(--bd)}
#p-email-templates .et-card-name{
  font-size:12.5px;font-weight:600;color:var(--tx);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-email-templates .et-card-meta{
  font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace;
  display:flex;gap: var(--space-2);
}

/* Editor rechts */
#p-email-templates .et-editor{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: var(--space-4) 18px;display:flex;flex-direction:column;gap: var(--space-3);
}
#p-email-templates .et-editor-head{
  display:flex;align-items:center;gap: 10px;
  padding-bottom: 10px;border-bottom:1px solid var(--bd);
}
#p-email-templates .et-name-input{
  flex:1;font-size:14px;font-weight:600;border:0;background:transparent;
  color:var(--tx);padding: var(--space-1) 0;outline:none;
}
#p-email-templates .et-name-input::placeholder{color:var(--tx3);font-weight:400}
#p-email-templates .et-save-indicator{
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx3);min-width:140px;text-align:right;
}
#p-email-templates .et-save-indicator.is-pending{color:var(--ac3)}
#p-email-templates .et-save-indicator.is-saving{color:var(--ac2)}
#p-email-templates .et-save-indicator.is-saved{color:var(--tx3)}
#p-email-templates .et-save-indicator.is-error{color:var(--ac4);cursor:pointer}
#p-email-templates .et-del-btn{
  background:transparent;border:1px solid var(--bd);border-radius: 5px;
  width:30px;height:30px;font-size:14px;color:var(--tx3);cursor:pointer;
}
#p-email-templates .et-del-btn:hover{border-color:var(--ac4);color:var(--ac4)}

#p-email-templates .et-editor-row{
  display:flex;align-items:center;gap: 10px;
}
#p-email-templates .et-editor-row-full{align-items:flex-start;flex-direction:column;gap: 6px}
#p-email-templates .et-label{
  font-family:'DM Mono',monospace;font-size:10.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.06em;color:var(--tx3);
  min-width:90px;
}
#p-email-templates .et-editor-row-full .et-label{min-width:auto}

#p-email-templates .et-input{
  flex:1;background:var(--bg);border:1px solid var(--bd);border-radius: var(--radius-md);
  color:var(--tx);padding: var(--space-2) 10px;font-size:13px;font-family:inherit;
  outline:none;transition:border-color .12s;
}
#p-email-templates .et-input:focus{border-color:var(--ac)}
#p-email-templates .et-body{
  width:100%;min-height:240px;font-family:'DM Mono',monospace;font-size:12.5px;
  line-height:1.55;resize:vertical;
}

#p-email-templates .et-radio-group{display:flex;gap: 14px}
#p-email-templates .et-radio{
  display:inline-flex;align-items:center;gap: 6px;
  font-size:12px;color:var(--tx2);cursor:pointer;
}
#p-email-templates .et-radio input{cursor:pointer}

#p-email-templates .et-vars{display:flex;gap: 6px;flex-wrap:wrap}
#p-email-templates .et-var-chip{
  background:var(--sur2);border:1px solid var(--bd);border-radius: 5px;
  padding: 3px var(--space-2);font-family:'DM Mono',monospace;font-size:11px;
  color:var(--tx2);cursor:pointer;transition:all .12s;
}
#p-email-templates .et-var-chip:hover{background:var(--ac);color:var(--bg);border-color:var(--ac)}

/* Pipeline-Badge auf der Card */
#p-email-templates .et-badge{
  display:inline-block;padding: 1px 6px;border-radius: 8px;
  font-size:9.5px;font-weight:600;background:var(--sur2);color:var(--tx3);
  text-transform:uppercase;letter-spacing:.05em;
}

/* Read-only Hinweis für Telefonist/Vertriebler */
#p-email-templates.is-readonly .et-new,
#p-email-templates.is-readonly .et-del-btn{display:none}
#p-email-templates.is-readonly .et-input,
#p-email-templates.is-readonly .et-radio input{pointer-events:none;opacity:.7}
#p-email-templates.is-readonly .et-vars{display:none}

/* WhatsApp-Setup-Page — Single-Card-State-Maschine. Plattform-Stil (CSS-Vars). */

#p-whatsapp-setup .wsu-wrap{
  max-width:520px;margin: 0 auto;padding: var(--space-5) 18px;
}
#p-whatsapp-setup .wsu-head{margin-bottom: 18px}
#p-whatsapp-setup .wsu-title{font-size:20px;font-weight:600;margin: 0 0 6px;color:var(--tx)}
#p-whatsapp-setup .wsu-sub{font-size:12.5px;color:var(--tx2);line-height:1.5;margin: 0}

#p-whatsapp-setup .wsu-card{
  background:var(--sur);border:1px solid var(--bd);border-radius: 12px;
  padding: 20px;margin-bottom: 14px;
}
#p-whatsapp-setup .wsu-card-h{
  font-size:13px;font-weight:600;color:var(--tx);margin-bottom: 10px;
}
#p-whatsapp-setup .wsu-card-text{
  font-size:12.5px;color:var(--tx2);line-height:1.5;margin: 0 0 14px;
}
#p-whatsapp-setup .wsu-muted{color:var(--tx3);font-size:11.5px}

#p-whatsapp-setup .wsu-steps{
  list-style:decimal inside;padding: 0;margin: 0 0 14px;
  font-size:12.5px;color:var(--tx2);line-height:1.7;
}
#p-whatsapp-setup .wsu-steps li{margin-bottom: 2px}
#p-whatsapp-setup .wsu-steps b{color:var(--tx);font-weight:600}

#p-whatsapp-setup .wsu-qr-wrap{
  display:flex;justify-content:center;align-items:center;
  background:#fff;border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: 14px;margin: 0 0 var(--space-3);
}
#p-whatsapp-setup .wsu-qr{
  display:block;width:240px;height:240px;object-fit:contain;
}

#p-whatsapp-setup .wsu-card-ok{
  border-color:rgba(74,222,128,.35);
  background:linear-gradient(180deg, rgba(74,222,128,.06), var(--sur));
}
#p-whatsapp-setup .wsu-card-ok .wsu-card-h{color:#4ade80}

#p-whatsapp-setup .wsu-card-err{
  border-color:rgba(248,113,113,.35);
  background:linear-gradient(180deg, rgba(248,113,113,.06), var(--sur));
}
#p-whatsapp-setup .wsu-card-err .wsu-card-h{color:var(--ac4)}
#p-whatsapp-setup .wsu-card-err code{
  background:var(--sur2);padding: 1px 5px;border-radius: var(--radius-sm);
  font-family:'DM Mono',monospace;font-size:11px;color:var(--tx2);
}

#p-whatsapp-setup .wsu-whoami{
  margin-top: var(--space-2);font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace;
}
#p-whatsapp-setup .wsu-whoami span{color:var(--tx);font-weight:600}

/* WhatsApp-Chat-Slide-In (Cascade aus dem Pipeline-Slide-In).
   Erbt von .det-page / .usr-panel-head (details.css), eigene Threads + Composer. */

#rwc-panel{
  width:min(620px, 96vw);padding: 0;display:flex;flex-direction:column;
}
#rwc-panel.is-stacked .usr-panel-head{padding: var(--space-2) 22px;min-height:52px}

#rwc-panel .rwc-status{
  padding: var(--space-2) 22px;font-size:11.5px;color:var(--tx3);
  border-bottom:1px solid var(--bd);background:var(--sur2);
  min-height:0;line-height:1.4;
}
#rwc-panel .rwc-status:empty{display:none}
#rwc-panel .rwc-status.is-warn{color:var(--ac3)}
#rwc-panel .rwc-status.is-err{color:var(--ac4)}

#rwc-panel .rwc-thread{
  flex:1;overflow-y:auto;padding: 18px 22px;
  display:flex;flex-direction:column;gap: 10px;
  background:var(--bg);
}
#rwc-panel .rwc-empty{
  text-align:center;color:var(--tx3);font-size:12px;font-style:italic;
  padding: 40px var(--space-3);
}

#rwc-panel .rwc-msg{
  max-width:80%;padding: var(--space-2) var(--space-3);border-radius: var(--radius-lg);
  font-size:12.5px;line-height:1.5;
}
#rwc-panel .rwc-msg-body{white-space:pre-wrap;word-wrap:break-word;color:var(--tx)}
#rwc-panel .rwc-msg-ts{
  font-size:10px;color:var(--tx3);margin-top: var(--space-1);
  font-family:'DM Mono',monospace;
}

#rwc-panel .rwc-msg-in{
  align-self:flex-start;background:var(--sur);border:1px solid var(--bd);
}
#rwc-panel .rwc-msg-out{
  align-self:flex-end;background:rgba(74,222,128,.12);
  border:1px solid rgba(74,222,128,.25);
}

#rwc-panel .rwc-composer{
  display:flex;gap: var(--space-2);padding: var(--space-3) 22px;
  border-top:1px solid var(--bd);background:var(--sur);
  align-items:flex-end;
}
#rwc-panel .rwc-input{
  flex:1;background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: var(--space-2) var(--space-3);color:var(--tx);font-size:12.5px;
  font-family:inherit;resize:none;outline:none;line-height:1.5;
  transition:border-color .12s;
}
#rwc-panel .rwc-input:focus{border-color:var(--ac)}
#rwc-panel .rwc-send{flex-shrink:0}

/* Dialfire-Setup-Page — angelehnt an WhatsApp-Setup, ruhiges Single-Column-Layout */

#p-dialfire-setup { padding: 20px var(--space-5) 40px; overflow-y: auto; }

.dfs-wrap { max-width: 640px; margin: 0 auto; }

.dfs-head { margin-bottom: 20px; }
.dfs-title { margin: 0 0 6px; font-size: 22px; color: var(--tx); }
.dfs-sub { margin: 0; color: var(--tx2); font-size: 13px; line-height: 1.5; }

.dfs-card {
  background: var(--sur);
  border: 1px solid var(--bd);
  border-radius: var(--radius-lg);
  padding: 18px 20px;
  margin-bottom: var(--space-4);
}
.dfs-card-ok { border-color: rgba(74, 222, 128, .35); }
.dfs-card-h {
  font-size: 14px;
  font-weight: 600;
  color: var(--tx);
  margin-bottom: 10px;
}
.dfs-card-text { color: var(--tx2); font-size: 12.5px; line-height: 1.55; margin: 0 0 10px; }
.dfs-muted { color: var(--tx3); font-size: 11.5px; }

.dfs-field { margin-bottom: var(--space-3); display: flex; flex-direction: column; gap: var(--space-1); }
.dfs-field label {
  font-size: 11.5px;
  color: var(--tx2);
  font-weight: 500;
}
.dfs-field .rp-input {
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
  padding: var(--space-2) 10px;
  color: var(--tx);
  font-size: 12.5px;
  font-family: inherit;
  width: 100%;
  box-sizing: border-box;
}
.dfs-field .rp-input:focus {
  outline: none;
  border-color: var(--ac);
}
.dfs-hint { font-size: 11px; color: var(--tx3); }
.dfs-hint code {
  background: var(--sur3);
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 10.5px;
}

.dfs-advanced {
  margin: 6px 0 var(--space-3);
  padding: 10px var(--space-3);
  background: var(--sur2);
  border: 1px solid var(--bd);
  border-radius: var(--radius-md);
}
.dfs-advanced > summary {
  cursor: pointer;
  font-size: 11.5px;
  color: var(--tx2);
  user-select: none;
}
.dfs-advanced[open] > summary { margin-bottom: 10px; color: var(--tx); }

.dfs-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }

.dfs-err {
  margin-top: 10px;
  padding: var(--space-2) var(--space-3);
  background: rgba(248, 113, 113, .08);
  border: 1px solid rgba(248, 113, 113, .25);
  border-radius: var(--radius-md);
  color: var(--ac4);
  font-size: 11.5px;
}

/* Lexoffice-Setup (2026-05-25, MVP) — analog Dialfire-Setup, .lof-* Namespace */

#p-lexoffice-setup { padding: 18px 22px; color: var(--tx); }
#p-lexoffice-setup .lof-wrap { max-width: 720px; margin: 0 auto; }

#p-lexoffice-setup .lof-head { margin-bottom: 18px; }
#p-lexoffice-setup .lof-title { font-size: 18px; font-weight: 600; margin: 0 0 var(--space-1) 0; }
#p-lexoffice-setup .lof-sub   { font-size: 12.5px; color: var(--tx3); margin: 0; line-height: 1.5; }

#p-lexoffice-setup .lof-card {
  background: var(--sur); border: 1px solid var(--bd); border-radius: 8px;
  padding: var(--space-4) 20px; margin-bottom: 14px;
}
#p-lexoffice-setup .lof-card-h {
  font-size: 13px; font-weight: 600; color: var(--tx); margin-bottom: 10px;
}
#p-lexoffice-setup .lof-card-text {
  font-size: 12px; color: var(--tx2); line-height: 1.55; margin: 0 0 14px 0;
}

#p-lexoffice-setup .lof-field { display: flex; flex-direction: column; gap: var(--space-1); margin-bottom: var(--space-3); }
#p-lexoffice-setup .lof-field label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--tx3); font-weight: 600;
}
#p-lexoffice-setup .lof-field input {
  padding: var(--space-2) 10px; background: var(--sur2); border: 1px solid var(--bd);
  border-radius: var(--radius-sm); color: var(--tx); font-family: inherit; font-size: 12.5px;
}
#p-lexoffice-setup .lof-field input:focus { outline: none; border-color: var(--ac); }
#p-lexoffice-setup .lof-hint { font-size: 11px; color: var(--tx3); margin-top: 2px; }

#p-lexoffice-setup .lof-actions {
  display: flex; gap: var(--space-2); justify-content: flex-end; margin-top: var(--space-3);
}
#p-lexoffice-setup .lof-status {
  margin: 10px 0 0 0; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); font-size: 12px;
}
#p-lexoffice-setup .lof-status.is-ok   { background: rgba(34,197,94,.08); color: #22c55e; border: 1px solid rgba(34,197,94,.20); }
#p-lexoffice-setup .lof-status.is-err  { background: rgba(220,38,38,.08); color: #dc2626; border: 1px solid rgba(220,38,38,.20); }

#p-lexoffice-setup .lof-info-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 14px; margin: var(--space-2) 0 14px 0;
}
#p-lexoffice-setup .lof-info-grid > div {
  display: flex; flex-direction: column; gap: 2px;
  padding: var(--space-2) 10px; background: rgba(255,255,255,.025); border-radius: var(--radius-sm);
}
#p-lexoffice-setup .lof-info-grid span {
  font-size: 10px; color: var(--tx3); text-transform: uppercase; letter-spacing: 0.04em;
}
#p-lexoffice-setup .lof-info-grid strong {
  font-size: 12px; color: var(--tx); font-family: 'DM Mono', monospace; font-weight: 500;
}

#p-lexoffice-setup .lof-roadmap {
  margin: var(--space-1) 0 var(--space-2) 18px; padding: 0; font-size: 12px; color: var(--tx2); line-height: 1.7;
}
#p-lexoffice-setup .lof-roadmap li { margin-bottom: 2px; }
#p-lexoffice-setup .lof-roadmap-note {
  font-size: 11px; color: var(--tx3); font-style: italic; margin: 6px 0 0 0;
}

/* Login-Page — wird in Mockup-Phase NICHT gemountet (partials-manifest.js).
   In der Backend-Phase wird sie als Vollbild-Page aktiviert, Sidebar +
   Topbar werden via body.is-login ausgeblendet.
   Alle Layout-Regeln strikt unter .page.active gescoped, damit das default-
   `display:none` der Plattform (.page) greift und die Karte nicht parallel
   zu anderen Pages rendert. */

/* ── Login-Modus: alles ausser Login-Page verstecken ───────────────── */
body.is-login .sb,
body.is-login .sidebar,
body.is-login .sb-collapse-btn,
body.is-login .topbar,
body.is-login .app-shell-side { display: none !important; }
body.is-login .app-shell-main { margin: 0 !important; width: 100% !important; }
body.is-login .page:not(#p-login){ display: none !important; }

/* Login-Page wird IMMER sichtbar wenn body.is-login — unabhaengig
   davon ob .active gesetzt ist (kann beim Boot fehlen). */
body.is-login #p-login{
  display: flex !important;
  position: fixed;
  inset: 0;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  padding: var(--space-5);
  z-index: 200;
}

#p-login.page.active{
  min-height:calc(100vh - var(--hh));
  background:var(--bg);
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding: var(--space-5);
}

#p-login .lg-shell{
  width:100%;
  max-width:420px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

#p-login .lg-card{
  width:100%;
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: 14px;
  padding: var(--space-6) 28px var(--space-5);
  box-shadow:0 4px 24px rgba(0,0,0,.18);
}

#p-login .lg-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 14px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom:1px solid var(--bd);
  text-align:center;
}
#p-login .lg-logo{height:auto;width:96px;object-fit:contain;margin:0 auto;display:block}
#p-login .lg-brand-sub{
  font-family:'Inter',sans-serif;
  font-size:16px;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--fg);
  text-transform:none;
}

#p-login .lg-title{
  margin: 0 0 6px;
  font-size:18px;
  font-weight:600;
  color:var(--tx);
}
#p-login .lg-sub{
  margin: 0 0 22px;
  font-size:12px;
  color:var(--tx3);
  line-height:1.5;
}

#p-login .lg-form{display:flex;flex-direction:column;gap: 14px}
#p-login .lg-field{display:flex;flex-direction:column;gap: 5px}
#p-login .lg-label{
  font-family:'DM Mono',monospace;
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--tx3);
}
#p-login .lg-input{
  background:var(--sur2);
  border:1px solid var(--bd);
  border-radius: 7px;
  color:var(--tx);
  padding: 10px var(--space-3);
  font-size:13px;
  font-family:'DM Sans',sans-serif;
  transition:border-color .12s, background .12s;
}
#p-login .lg-input:focus{
  outline:none;
  border-color:var(--ac);
  background:var(--sur);
}

#p-login .lg-error{
  background:rgba(248,113,113,.08);
  border:1px solid rgba(248,113,113,.25);
  color:var(--ac4);
  padding: 9px var(--space-3);
  border-radius: var(--radius-md);
  font-size:12px;
}

#p-login .lg-submit{
  margin-top: var(--space-1);
  padding: 11px var(--space-4);
  font-size:13px;
  width:100%;
}

#p-login .lg-foot{
  margin-top: 18px;
  padding-top: 14px;
  border-top:1px solid var(--bd);
  text-align:center;
}
#p-login .lg-foot-line{
  font-size:11px;
  color:var(--tx3);
}

#p-login .lg-meta{
  margin-top: var(--space-4);
  font-size:10.5px;
  color:var(--tx3);
  font-family:'DM Mono',monospace;
}

/* User-Verwaltung — System → User. Plattform-Stil (CSS-Variablen) mit Refresh 2026-05-16-z:
   Tiles raus, Avatar-Bubbles in Card-Reihen, mehr Air, klarere Hierarchie.
   Keine Eigen-Farben — alles über var(--*) Tokens. */

#p-users{padding: var(--space-5) 28px 80px;max-width:1280px;margin: 0 auto}

/* ── Head (Eyebrow + Titel + Sub + Anlegen-Button) ──────────────── */
#p-users .usr-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap: var(--space-5);flex-wrap:wrap;margin-bottom: 22px;
}
#p-users .usr-head-text{flex:1;min-width:0}
#p-users .usr-head-eyebrow{
  font-family:'DM Mono',monospace;
  font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  color:var(--tx3);margin-bottom: 6px;
}
#p-users .usr-head-title{
  margin: 0 0 6px;font-size:22px;font-weight:600;color:var(--tx);letter-spacing:-.01em;
}
#p-users .usr-head-sub{
  margin: 0;font-size:12.5px;color:var(--tx2);line-height:1.55;max-width:640px;
}
#p-users .usr-add-btn{padding: 10px var(--space-4);font-size:12.5px;display:inline-flex;align-items:center;gap: 6px;flex-shrink:0}
#p-users .usr-add-icon{font-size:15px;font-weight:400;line-height:1}

/* ── Filter-Bar ──────────────────────────────────────────────────── */
#p-users .usr-bar{
  display:flex;align-items:center;gap: 14px;flex-wrap:wrap;
  margin-bottom: 18px;padding-bottom: 18px;border-bottom:1px solid var(--bd);
}
#p-users .usr-filters{display:flex;gap: var(--space-1);flex-wrap:wrap;flex:1;min-width:0}
#p-users .usr-pill{
  background:transparent;border:1px solid transparent;color:var(--tx3);
  padding: 5px var(--space-3);border-radius: 7px;font-size:11.5px;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all .12s;
  display:inline-flex;align-items:center;gap: 6px;
}
#p-users .usr-pill:hover{background:var(--sur2);color:var(--tx2)}
#p-users .usr-pill.on{background:var(--sur);border-color:var(--bd);color:var(--tx);font-weight:600}
#p-users .usr-pill-cnt{
  font-family:'DM Mono',monospace;font-size:10px;
  background:var(--sur2);padding: 1px 6px;border-radius: 8px;color:var(--tx3);
}
#p-users .usr-pill.on .usr-pill-cnt{background:var(--bg);color:var(--ac)}

#p-users .usr-search{
  position:relative;
  width:240px;
}
#p-users .usr-search-icon{
  position:absolute;left:11px;top:50%;transform:translateY(-50%);
  font-size:14px;color:var(--tx3);pointer-events:none;
}
#p-users .usr-search-input{
  width:100%;background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  color:var(--tx);padding: var(--space-2) var(--space-3) var(--space-2) var(--space-6);font-size:12px;font-family:'DM Sans',sans-serif;
  transition:border-color .12s,background .12s;
  box-sizing:border-box;
}
#p-users .usr-search-input:focus{outline:none;border-color:var(--ac);background:var(--sur2)}

/* View-Toggle (Pattern: rp-icons aus Pipeline) */
#p-users .usr-icons{display:flex;align-items:center;gap: 2px;flex-shrink:0}
#p-users .usr-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius: 7px;
  background:transparent;border:0;color:var(--tx3);
  cursor:pointer;transition:all .12s;padding: 0;
}
#p-users .usr-icon svg{width:14px;height:14px}
#p-users .usr-icon:hover{background:var(--sur2);color:var(--tx)}
#p-users .usr-icon.on{background:var(--sur2);color:var(--ac)}

/* ── User-Liste — zwei Modi: Cards (default) + Liste (kompakt) ──── */
#p-users .usr-list{
  display:flex;flex-direction:column;gap: 6px;
}
#p-users .usr-list.is-list{gap: 0}

#p-users .usr-row{
  display:grid;
  grid-template-columns:42px minmax(180px,1fr) 130px minmax(140px,1.4fr) 90px 32px;
  align-items:center;gap: 14px;
  padding: var(--space-3) var(--space-4);
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: var(--radius-lg);
  cursor:pointer;
  transition:border-color .15s,background .15s;
}
#p-users .usr-row:hover{
  border-color:var(--ac);
  background:var(--sur2);
}
#p-users .usr-row.is-inaktiv{opacity:.55}
#p-users .usr-row.is-inaktiv:hover{opacity:.8}

/* ── Listen-Modus: kompakt, Tabellen-artig, kein Border um jede Zeile ── */
#p-users .usr-list.is-list{
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: var(--radius-lg);
  overflow:hidden;
}
#p-users .usr-list.is-list .usr-row{
  background:transparent;
  border:0;
  border-bottom:1px solid var(--bd);
  border-radius: 0;
  padding: var(--space-2) 14px;
  grid-template-columns:30px minmax(160px,1fr) 110px minmax(140px,1.4fr) 80px 30px;
  gap: var(--space-3);
}
#p-users .usr-list.is-list .usr-row:last-child{border-bottom:0}
#p-users .usr-list.is-list .usr-row:hover{background:var(--sur2);border-color:var(--bd)}
#p-users .usr-list.is-list .usr-row:hover{border-bottom-color:var(--bd)}
#p-users .usr-list.is-list .usr-avatar{
  width:28px;height:28px;font-size:11px;
}
#p-users .usr-list.is-list .usr-name{font-size:12.5px}
#p-users .usr-list.is-list .usr-email{font-size:10.5px;margin-top: 1px}
#p-users .usr-list.is-list .usr-type-pill{padding: 1px 7px;font-size:10px}
#p-users .usr-list.is-list .usr-modules{font-size:10.5px}
#p-users .usr-list.is-list .usr-status{font-size:10.5px}
#p-users .usr-list.is-list .usr-chevron{font-size:18px;padding: var(--space-1) 6px}

/* Avatar */
#p-users .usr-avatar{
  width:38px;height:38px;border-radius: 50%;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:600;letter-spacing:.02em;
  font-family:'DM Sans',sans-serif;
  background:var(--sur3);color:var(--tx);
  border:1px solid var(--bd);
  flex-shrink:0;
}
#p-users .usr-avatar.is-superadmin{background:rgba(213,217,96,.16);color:var(--ac);border-color:rgba(213,217,96,.42)}
#p-users .usr-avatar.is-teamleiter{background:rgba(86,107,134,.18);color:var(--ac2);border-color:rgba(86,107,134,.42)}
#p-users .usr-avatar.is-telefonist{background:rgba(74,222,128,.12);color:#4ade80;border-color:rgba(74,222,128,.36)}
#p-users .usr-avatar.is-vertriebler{background:rgba(245,158,11,.12);color:var(--ac3);border-color:rgba(245,158,11,.36)}
#p-users .usr-avatar.is-partner{background:rgba(248,113,113,.10);color:var(--ac4);border-color:rgba(248,113,113,.32)}

/* Name + Email */
#p-users .usr-info{min-width:0}
#p-users .usr-name{
  font-size:13px;font-weight:600;color:var(--tx);
  display:flex;align-items:center;gap: var(--space-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-users .usr-email{
  font-size:11.5px;color:var(--tx3);font-family:'DM Mono',monospace;
  margin-top: 2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-users .usr-badge{
  font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;
  padding: 1px 6px;border-radius: var(--radius-sm);font-weight:600;
}
#p-users .usr-badge.is-self{background:rgba(213,217,96,.16);color:var(--ac);border:1px solid rgba(213,217,96,.32)}

/* Type-Pill — kleiner + dezenter */
#p-users .usr-type-pill{
  display:inline-block;padding: 2px var(--space-2);border-radius: var(--radius-md);
  font-size:10.5px;font-weight:600;letter-spacing:.02em;
}
#p-users .usr-type-pill.is-superadmin{background:rgba(213,217,96,.12);color:var(--ac)}
#p-users .usr-type-pill.is-teamleiter{background:rgba(86,107,134,.16);color:var(--ac2)}
#p-users .usr-type-pill.is-telefonist{background:rgba(74,222,128,.10);color:#4ade80}
#p-users .usr-type-pill.is-vertriebler{background:rgba(245,158,11,.10);color:var(--ac3)}
#p-users .usr-type-pill.is-partner{background:rgba(248,113,113,.10);color:var(--ac4)}

/* Module-Liste */
#p-users .usr-modules{
  font-size:11.5px;color:var(--tx3);font-family:'DM Mono',monospace;
  display:flex;align-items:center;gap: var(--space-2);flex-wrap:wrap;
}
#p-users .usr-modules-tag{
  font-size:10px;background:var(--sur2);color:var(--tx2);
  padding: 1px 6px;border-radius: 5px;font-family:'DM Mono',monospace;font-weight:500;
}

/* Status mit Dot */
#p-users .usr-status{
  font-size:11.5px;color:var(--tx2);
  display:inline-flex;align-items:center;gap: 6px;
}
#p-users .usr-dot{
  display:inline-block;width:6px;height:6px;border-radius: 50%;
}
#p-users .usr-dot.is-aktiv{background:#4ade80;box-shadow:0 0 6px rgba(74,222,128,.5)}
#p-users .usr-dot.is-inaktiv{background:var(--tx3)}

/* Chevron rechts — visueller Hinweis "klick führt in Detail-Ansicht" */
#p-users .usr-chevron{
  color:var(--tx3);font-size:20px;line-height:1;padding: 6px var(--space-2);
  font-family:'DM Mono',monospace;font-weight:400;
  transition:color .12s,transform .15s;
  user-select:none;
}
#p-users .usr-row:hover .usr-chevron{color:var(--tx);transform:translateX(2px)}

/* Pagination-Footer — sehr dezent */
#p-users .usr-pagi-foot{
  display:flex;align-items:center;justify-content:flex-end;gap: var(--space-2);
  margin-top: 18px;font-size:11px;color:var(--tx3);font-family:'DM Mono',monospace;
}
#p-users .usr-pagi-spacer{opacity:.6}
#p-users .usr-pagi-sizes{display:inline-flex;gap: var(--space-1);margin-left: var(--space-1)}
#p-users .usr-pagi-size{
  padding: 2px var(--space-2);border-radius: 5px;cursor:pointer;color:var(--tx3);
}
#p-users .usr-pagi-size.on{background:var(--sur);color:var(--ac);font-weight:600}
#p-users .usr-pagi-size:hover:not(.on){background:var(--sur2);color:var(--tx2)}

/* ── Slide-In (det-page reused) ─────────────────────────────────── */
#usr-create-panel, #usr-created-panel, #usr-detail-panel{padding: 0}
.usr-panel-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap: var(--space-4);
  padding: 18px 22px;border-bottom:1px solid var(--bd);background:var(--sur);
  position:sticky;top:0;z-index:2;
}
.usr-panel-eyebrow{
  font-family:'DM Mono',monospace;font-size:10.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.07em;color:var(--tx3);margin-bottom: var(--space-1);
}
.usr-panel-head h3{margin: 0;font-size:16px;font-weight:600;color:var(--tx);letter-spacing:-.01em}
.usr-panel-body{padding: 20px 22px var(--space-5)}

.usr-form-section{
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
  padding: var(--space-4) 18px;margin-bottom: 14px;
}
.usr-section-title{
  font-family:'DM Mono',monospace;font-size:10.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.07em;color:var(--tx3);
  margin-bottom: var(--space-3);
}
.usr-section-hint{
  font-size:11.5px;color:var(--tx3);margin-bottom: var(--space-3);line-height:1.5;
}
.usr-section-hint code{
  background:var(--sur2);padding: 1px 5px;border-radius: var(--radius-sm);
  font-family:'DM Mono',monospace;font-size:10.5px;color:var(--tx2);
}
.usr-cal-row{display:flex;gap: var(--space-2);align-items:center}
.usr-cal-row .usr-input{flex:1}
.usr-cal-create-btn{flex-shrink:0;white-space:nowrap;font-size:11.5px;padding: 7px var(--space-3)}

.usr-form-grid{display:grid;grid-template-columns:1fr 1fr;gap: var(--space-3)}
.usr-field{display:flex;flex-direction:column;gap: var(--space-1);min-width:0}
.usr-field-wide{grid-column:1 / -1}
.usr-field-label{
  font-family:'DM Mono',monospace;font-size:10px;font-weight:500;
  text-transform:uppercase;letter-spacing:.05em;color:var(--tx3);
}
.usr-field-value{font-size:12.5px;color:var(--tx);font-weight:500}

.usr-input, select.usr-input, textarea.usr-input{
  background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.10);border-radius: var(--radius-sm);
  color:var(--tx);padding: var(--space-2) 10px;font-size:12.5px;font-family:inherit;
  transition:border-color .12s,background .12s;
}
.usr-input:focus, select.usr-input:focus, textarea.usr-input:focus{
  outline:none;border-color:var(--ac);
}

/* User-Typ Cards */
.usr-type-grid{display:grid;grid-template-columns:1fr 1fr;gap: var(--space-2)}
.usr-type-card{
  display:flex;gap: 10px;align-items:flex-start;
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: 11px 13px;cursor:pointer;transition:all .12s;
}
.usr-type-card:hover{border-color:var(--bd2)}
.usr-type-card.is-selected,
.usr-type-card:has(input:checked){
  background:rgba(213,217,96,.08);border-color:var(--ac);
}
.usr-type-card input{margin-top: 2px;accent-color:var(--ac)}
.usr-type-card-title{font-size:12.5px;font-weight:600;color:var(--tx);margin-bottom: 2px}
.usr-type-card-sub{font-size:10.5px;color:var(--tx3);line-height:1.45}

/* Module Toggles */
.usr-module-grid{display:grid;grid-template-columns:1fr 1fr;gap: var(--space-2)}
.usr-module-toggle{
  display:flex;flex-direction:column;gap: 2px;
  background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  padding: 10px 13px;cursor:pointer;position:relative;transition:all .12s;
}
.usr-module-toggle:hover{border-color:var(--bd2)}
.usr-module-toggle input{position:absolute;top:11px;right:11px;accent-color:var(--ac)}
.usr-module-toggle.is-on{background:rgba(213,217,96,.08);border-color:rgba(213,217,96,.36)}
.usr-module-toggle.is-disabled{opacity:.45;cursor:not-allowed}
.usr-module-name{font-size:12px;font-weight:600;color:var(--tx);padding-right: var(--space-5)}
.usr-module-hint{font-size:10.5px;color:var(--tx3)}

/* Address Whitelist */
.usr-addr-list{display:flex;flex-direction:column;gap: 6px}
.usr-addr-row{
  display:flex;align-items:center;gap: var(--space-3);
  background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;
  padding: 9px 13px;transition:border-color .12s;
}
.usr-addr-row:hover{border-color:var(--bd2)}
.usr-addr-firma{font-size:12px;color:var(--tx);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usr-addr-meta{font-size:10.5px;color:var(--tx3);font-family:'DM Mono',monospace}
.usr-addr-rm{
  background:transparent;border:none;color:var(--tx3);font-size:11px;cursor:pointer;
  padding: 3px var(--space-2);border-radius: 5px;font-family:'DM Sans',sans-serif;
}
.usr-addr-rm:hover{background:rgba(248,113,113,.10);color:var(--ac4)}
.usr-addr-more{
  padding: 9px var(--space-3);text-align:center;font-size:11px;color:var(--ac);cursor:pointer;
}
.usr-addr-more:hover{text-decoration:underline}

/* Credentials nach Anlage */
.usr-creds-card{
  background:var(--sur);
  border:1px solid var(--ac);
  border-radius: var(--radius-lg);
  padding: 14px 18px;margin-bottom: var(--space-4);
  box-shadow:0 0 0 1px rgba(213,217,96,.10);
}
.usr-cred-row{
  display:flex;align-items:center;gap: 14px;
  padding: 9px 0;border-bottom:1px dashed var(--bd);
}
.usr-cred-row:last-child{border-bottom:none}
.usr-cred-label{
  font-family:'DM Mono',monospace;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--tx3);width:90px;flex-shrink:0;
}
.usr-cred-value{flex:1;font-size:12.5px;color:var(--tx);font-family:'DM Mono',monospace;font-weight:500;overflow-wrap:break-word;min-width:0}
.usr-cred-copy{
  background:transparent;border:1px solid var(--bd);color:var(--tx2);
  width:30px;height:28px;border-radius: var(--radius-md);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;
  transition:all .12s;
}
.usr-cred-copy:hover{background:var(--sur2);color:var(--ac);border-color:var(--ac)}
.usr-cred-copy:disabled{opacity:.7}

/* Versand-Text */
.usr-versand-tabs{display:flex;gap: 6px;margin-bottom: 10px}
.usr-vtab{
  background:var(--sur2);border:1px solid var(--bd);color:var(--tx2);
  padding: 5px var(--space-3);border-radius: 13px;font-size:11px;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all .12s;
}
.usr-vtab:hover{color:var(--tx);border-color:var(--bd2)}
.usr-vtab.on{background:rgba(213,217,96,.1);border-color:rgba(213,217,96,.4);color:var(--ac);font-weight:600}
.usr-versand-text{
  width:100%;background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;
  color:var(--tx);padding: 14px var(--space-4);font-size:12px;font-family:'DM Mono',monospace;
  line-height:1.6;resize:vertical;min-height:200px;box-sizing:border-box;
}
.usr-versand-text:focus{outline:none;border-color:var(--ac)}

/* Panel-Actions */
.usr-panel-actions{
  display:flex;gap: var(--space-2);justify-content:flex-end;flex-wrap:wrap;
  margin-top: 14px;padding-top: 14px;border-top:1px solid var(--bd);
}

/* ── Responsive — kompakter ab schmaleren Viewports ─────────────── */
@media (max-width: 900px) {
  #p-users .usr-row{
    grid-template-columns:42px 1fr 32px;
    grid-template-areas:
      "avatar info chevron"
      ". meta meta";
    gap: 10px;
  }
  #p-users .usr-row .usr-avatar{grid-area:avatar}
  #p-users .usr-row .usr-info{grid-area:info}
  #p-users .usr-row .usr-chevron{grid-area:chevron}
  #p-users .usr-row .usr-type,
  #p-users .usr-row .usr-modules,
  #p-users .usr-row .usr-status{
    grid-area:meta;
    display:inline-flex;align-items:center;gap: var(--space-2);
    font-size:10.5px;
  }
}

/* ── Side-Tabs am User-Detail-Slide-In (Pipeline-Pattern) ─────────────
   WICHTIG: Tabs liegen im DOM AUSSERHALB des .det-page, weil .det-page mit
   transform:translateX einen Stacking-Context bildet, der position:fixed
   Kinder einfängt. Sichtbarkeit über body-Klasse "has-usr-detail-open". */
#usr-side-tabs-bar{
  position:fixed;
  top:120px;
  right:min(640px, 96vw);
  display:none;
  flex-direction:column;gap: var(--space-1);z-index:160;
}
body.has-usr-detail-open #usr-side-tabs-bar{display:flex}
.usr-side-tab{
  width:32px;height:118px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  gap: var(--space-2);
  background:var(--sur2);
  border:1px solid var(--bd2);border-right:none;border-radius: 7px 0 0 7px;
  color:var(--tx);cursor:pointer;padding: 10px 0 9px;
  box-shadow:-4px 2px 12px rgba(0,0,0,.18);
  transition:all .15s ease;
}
[data-theme="light"] .usr-side-tab{
  background:var(--sur3);box-shadow:-4px 2px 14px rgba(15,30,53,.15);
}
.usr-side-tab:hover{
  margin-left: -3px;background:var(--ac);color:var(--ac-on);border-color:var(--ac);
  box-shadow:-4px 2px 14px rgba(0,0,0,.25);
}
.usr-side-tab.is-danger:hover{
  background:var(--ac4);color:#fff;border-color:var(--ac4);
}
.usr-side-tab svg{width:15px;height:15px;color:inherit}
.usr-side-tab-label{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:10px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;font-family:'DM Sans',sans-serif;
}

/* Sticky Header: Speichern + X nebeneinander rechts. */
.usr-panel-head-actions{
  display:flex;align-items:center;gap: 10px;
}
.usr-head-save{padding: 7px var(--space-4);font-size:12.5px}

/* ─── Inline E-Mail-Wizard (user-mail-wizard.js, 2026-05-22) ───────────
   Markup nutzt usr-panel-head/usr-panel-body — Header-Stil + Close-Button
   kommen automatisch aus details.css + users.css (Cascade-Slide-In-Style). */
.usr-mail-wizard-panel .umw-steps{
  list-style:none;padding: 0;margin: 0 0 18px;display:flex;gap: 6px;
  font-size:11px;font-family:'DM Mono',monospace;letter-spacing:.04em
}
.usr-mail-wizard-panel .umw-step{
  flex:1;padding: 7px 10px;background:var(--sur);
  border:1px solid var(--bd);border-radius: var(--radius-md);color:var(--tx3);
  text-align:center;text-transform:uppercase
}
.usr-mail-wizard-panel .umw-step.is-current{
  background:var(--ac);color:var(--ac-on);border-color:var(--ac);font-weight:600
}
.usr-mail-wizard-panel .umw-step.is-done{color:var(--tx2);border-color:var(--bd)}
.usr-mail-wizard-panel .umw-card{display:flex;flex-direction:column;gap: 14px}
.usr-mail-wizard-panel .umw-field{display:flex;flex-direction:column;gap: 5px;font-size:12px}
.usr-mail-wizard-panel .umw-field span{color:var(--tx2);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}
.usr-mail-wizard-panel .umw-field input,
.usr-mail-wizard-panel .umw-field select{
  background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-md);
  padding: var(--space-2) 10px;font-size:13px;color:var(--tx);font-family:inherit
}
.usr-mail-wizard-panel .umw-field input:focus,
.usr-mail-wizard-panel .umw-field select:focus{border-color:var(--ac);outline:0}
.usr-mail-wizard-panel .umw-grid{
  display:grid;grid-template-columns:1fr 90px 1fr;gap:10px
}
.usr-mail-wizard-panel .umw-grid .umw-field:nth-child(3n+1){grid-column:1}
.usr-mail-wizard-panel .umw-actions{
  display:flex;justify-content:flex-end;gap: var(--space-2);margin-top:6px
}
.usr-mail-wizard-panel .umw-actions .btn{
  padding: var(--space-2) 14px;border-radius: var(--radius-md);font-size:13px;cursor:pointer;
  border:1px solid var(--bd);background:var(--sur);color:var(--tx)
}
.usr-mail-wizard-panel .umw-actions .btn.pri{background:var(--ac);color:var(--ac-on);border-color:var(--ac);font-weight:500}
.usr-mail-wizard-panel .umw-actions .btn:hover{border-color:var(--ac);color:var(--ac)}
.usr-mail-wizard-panel .umw-actions .btn.pri:hover{filter:brightness(1.06)}
.usr-mail-wizard-panel .umw-hint{
  background:var(--sur2);border-left:3px solid var(--ac);border-radius: var(--radius-sm);
  padding: var(--space-2) var(--space-3);font-size:12px;color:var(--tx2)
}
.usr-mail-wizard-panel .umw-err{
  background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.4);
  border-radius: var(--radius-md);padding: var(--space-2) var(--space-3);font-size:12.5px;color:var(--ac4)
}
.usr-mail-wizard-panel .umw-success{align-items:center;text-align:center}
.usr-mail-wizard-panel .umw-success h4{margin: 0;font-size:16px;color:var(--ac)}
.usr-mail-wizard-panel .umw-success p{margin: 0;color:var(--tx2);font-size:13px}

/* Aufgaben — UI an Users-Page angeglichen 2026-05-16. Card-Reihen mit
   Hover-Effekt, kompakte Toolbar, kein Hero. Plattform-Variablen only. */

#p-tasks{padding: var(--space-5) 28px 80px;max-width:1280px;margin: 0 auto}

/* ── Filter-Bar (analog .usr-bar) ───────────────────────────────── */
#p-tasks .tsk-bar{
  display:flex;align-items:center;gap: 14px;flex-wrap:wrap;
  margin-bottom: 18px;padding-bottom: 18px;border-bottom:1px solid var(--bd);
}
#p-tasks .tsk-filters{display:flex;gap: var(--space-1);flex-wrap:wrap;flex:1;min-width:0}
#p-tasks .tsk-pill{
  background:transparent;border:1px solid transparent;color:var(--tx3);
  padding: 5px var(--space-3);border-radius: 7px;font-size:11.5px;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all .12s;
  display:inline-flex;align-items:center;gap: 6px;
}
#p-tasks .tsk-pill:hover{background:var(--sur2);color:var(--tx2)}
#p-tasks .tsk-pill.on{background:var(--sur);border-color:var(--bd);color:var(--tx);font-weight:600}
#p-tasks .tsk-pill-cnt{
  font-family:'DM Mono',monospace;font-size:10px;
  background:var(--sur2);padding: 1px 6px;border-radius: 8px;color:var(--tx3);
}
#p-tasks .tsk-pill.on .tsk-pill-cnt{background:var(--bg);color:var(--ac)}

#p-tasks .tsk-search{position:relative;width:240px}
#p-tasks .tsk-search-icon{
  position:absolute;left:11px;top:50%;transform:translateY(-50%);
  font-size:14px;color:var(--tx3);pointer-events:none;
}
#p-tasks .tsk-search-input{
  width:100%;background:var(--sur);border:1px solid var(--bd);border-radius: 8px;
  color:var(--tx);padding: var(--space-2) var(--space-3) var(--space-2) var(--space-6);font-size:12px;font-family:'DM Sans',sans-serif;
  transition:border-color .12s,background .12s;
  box-sizing:border-box;
}
#p-tasks .tsk-search-input:focus{outline:none;border-color:var(--ac);background:var(--sur2)}

/* ── Card-Reihen-Liste (analog .usr-list) ───────────────────────── */
#p-tasks .tsk-list{
  display:flex;flex-direction:column;gap: 6px;
}
#p-tasks .tsk-row{
  display:grid;
  grid-template-columns:32px minmax(220px,1.6fr) minmax(160px,1.2fr) 130px 110px 90px;
  align-items:center;gap: 14px;
  padding: var(--space-3) var(--space-4);
  background:var(--sur);
  border:1px solid var(--bd);
  border-radius: var(--radius-lg);
  transition:border-color .15s,background .15s;
}
#p-tasks .tsk-row.is-editable{cursor:pointer}
#p-tasks .tsk-row.is-editable:hover{
  border-color:var(--ac);
  background:var(--sur2);
}
#p-tasks .tsk-row.is-done{opacity:.55}
#p-tasks .tsk-row.is-overdue{border-left:3px solid var(--ac4)}
#p-tasks .tsk-row.is-today{border-left:3px solid var(--ac3)}
#p-tasks .tsk-row.is-pipeline{
  background:linear-gradient(0deg, var(--sur), var(--sur));
  border-style:dashed;
}
#p-tasks .tsk-row.is-pipeline:hover{
  border-color:var(--bd2);
  background:var(--sur2);
  cursor:default;
}

/* Check-Cell */
#p-tasks .tsk-check{display:flex;align-items:center;justify-content:center}
#p-tasks .tsk-check input[type="checkbox"]{
  width:16px;height:16px;cursor:pointer;accent-color:var(--ac);
}
#p-tasks .tsk-check-dot{
  display:inline-block;width:8px;height:8px;border-radius: 50%;
  background:var(--tx3);
}

/* Titel */
#p-tasks .tsk-title{min-width:0}
#p-tasks .tsk-title-text{
  font-size:13px;font-weight:600;color:var(--tx);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-tasks .tsk-row.is-done .tsk-title-text{text-decoration:line-through;color:var(--tx2)}
#p-tasks .tsk-title-sub{
  font-size:11px;color:var(--tx3);margin-top: 2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-tasks .tsk-row.is-pipeline .tsk-title-text{font-size:12px;color:var(--tx2)}

/* Adresse */
#p-tasks .tsk-addr{
  font-size:11.5px;color:var(--tx2);font-family:'DM Sans',sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#p-tasks .tsk-addr-link{color:var(--ac);cursor:pointer}
#p-tasks .tsk-addr-link:hover{text-decoration:underline}
#p-tasks .tsk-addr-none{color:var(--tx3);font-style:italic}

/* Owner */
#p-tasks .tsk-owner{
  display:inline-flex;align-items:center;gap: 7px;font-size:11.5px;color:var(--tx);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;
}
#p-tasks .tsk-owner-avatar{
  width:22px;height:22px;border-radius: 50%;
  background:var(--sur3);color:var(--tx2);font-size:9.5px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  border:1px solid var(--bd);
}
#p-tasks .tsk-owner-name{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* Fällig */
#p-tasks .tsk-due{
  font-size:11.5px;color:var(--tx2);font-family:'DM Mono',monospace;
}
#p-tasks .tsk-due.is-overdue{color:var(--ac4);font-weight:600}
#p-tasks .tsk-due.is-today{color:var(--ac3);font-weight:600}
#p-tasks .tsk-due.is-done{color:var(--tx3)}
#p-tasks .tsk-due-sub{display:block;font-size:9.5px;font-style:italic;margin-top: 1px}

/* Status */
#p-tasks .tsk-status{
  display:inline-flex;align-items:center;gap: 6px;
  font-size:11px;color:var(--tx2);
}
#p-tasks .tsk-status-dot{
  display:inline-block;width:7px;height:7px;border-radius: 50%;
}
#p-tasks .tsk-status.is-open .tsk-status-dot{background:var(--ac3)}
#p-tasks .tsk-status.is-done .tsk-status-dot{background:#4ade80}
#p-tasks .tsk-status.is-pipeline .tsk-status-dot{background:var(--ac2)}

/* Empty / Loading */
#p-tasks .tsk-empty{
  padding: 40px 20px;text-align:center;color:var(--tx3);font-size:12.5px;line-height:1.6;
  background:var(--sur);border:1px solid var(--bd);border-radius: var(--radius-lg);
}

/* Responsive */
@media (max-width: 900px){
  #p-tasks .tsk-row{
    grid-template-columns:32px 1fr;
    grid-template-areas:
      "check title"
      ". meta";
    gap: var(--space-2);
  }
  #p-tasks .tsk-row .tsk-check{grid-area:check}
  #p-tasks .tsk-row .tsk-title{grid-area:title}
  #p-tasks .tsk-row .tsk-addr,
  #p-tasks .tsk-row .tsk-owner,
  #p-tasks .tsk-row .tsk-due,
  #p-tasks .tsk-row .tsk-status{
    grid-area:meta;display:inline-flex;font-size:10.5px;
  }
}

/* Date + Time getrennt im Slide-In: Datum dominant, Uhrzeit kompakt rechts.
   Beide Inputs erben das .usr-input-Styling aus users.css. */
#tsk-create-panel .tsk-dt-pair,
#tsk-detail-panel .tsk-dt-pair{
  display:grid;grid-template-columns:1fr 90px;gap: 6px;
}
#tsk-create-panel .tsk-dt-pair .usr-input,
#tsk-detail-panel .tsk-dt-pair .usr-input{padding: 7px 9px}
#tsk-create-panel .tsk-dt-time,
#tsk-detail-panel .tsk-dt-time{font-variant-numeric:tabular-nums}

/* Architektur — Mindmap-Visualisierung der gesamten Plattform-Architektur.
 * Zentraler Hub + 5 Branches (Eingang/SalesCycle/Industries/API/Onboarding) +
 * Detail-Sektionen drunter. Eigene ar-* Klassen.
 */

/* Mindmap-Container */
.ar-mindmap{position:relative;background:var(--sur);border:1px solid var(--bd);border-radius: 14px;padding: var(--space-6) var(--space-5);margin-bottom: 18px;overflow:hidden;min-height:560px}

/* Hintergrund-Glow für den Hub */
.ar-mindmap::before{content:"";position:absolute;top:50%;left:50%;width:600px;height:600px;transform:translate(-50%,-50%);background:radial-gradient(circle, rgba(213,217,96,.08) 0%, transparent 60%);pointer-events:none}

/* SVG-Linien-Layer (hinter den Boxen, vor Hintergrund-Glow) */
.ar-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.ar-lines line, .ar-lines path{stroke:var(--bd2);stroke-width:1.5;fill:none;stroke-dasharray:4 4;opacity:.6}
.ar-lines line.is-flow, .ar-lines path.is-flow{stroke:var(--ac);stroke-dasharray:none;opacity:.4;stroke-width:1.5}

/* Layout: Grid mit Areas */
.ar-grid{position:relative;z-index:2;display:grid;grid-template-columns:240px 1fr 240px;grid-template-rows:auto auto auto;gap: var(--space-6) 60px;align-items:center;justify-items:center;min-height:500px}
.ar-grid > .ar-branch.eingang{grid-area:1/1}
.ar-grid > .ar-branch.salescycle{grid-area:1/3}
.ar-grid > .ar-branch.industries{grid-area:2/1}
.ar-grid > .ar-branch.api{grid-area:2/3}
.ar-grid > .ar-branch.onboarding{grid-area:3/2}
.ar-grid > .ar-hub{grid-area:1/2/3/3;grid-column:2;grid-row:1/3;align-self:center;justify-self:center}

@media (max-width:980px){
  .ar-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto auto auto auto}
  .ar-grid > .ar-branch.eingang{grid-area:1/1}
  .ar-grid > .ar-hub{grid-area:2/1}
  .ar-grid > .ar-branch.salescycle{grid-area:3/1}
  .ar-grid > .ar-branch.industries{grid-area:4/1}
  .ar-grid > .ar-branch.api{grid-area:5/1}
  .ar-grid > .ar-branch.onboarding{grid-area:6/1}
  .ar-lines{display:none}
}

/* Zentraler Hub */
.ar-hub{width:200px;height:200px;border-radius: 50%;background:radial-gradient(circle, var(--ac) 0%, rgba(213,217,96,.85) 70%, rgba(213,217,96,.3) 100%);color:var(--ac-on);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;box-shadow:0 0 0 4px var(--bg), 0 0 0 5px rgba(213,217,96,.4), 0 12px 30px rgba(213,217,96,.25);position:relative}
.ar-hub-eyebrow{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;opacity:.75;margin-bottom: var(--space-1);font-weight:700}
.ar-hub-title{font-size:17px;line-height:1.1;font-weight:700;margin: 0 0 var(--space-1);padding: 0 var(--space-4)}
.ar-hub-sub{font-size:10.5px;opacity:.75;font-family:'DM Mono',monospace;margin-top: 2px}

/* Branch-Card */
.ar-branch{background:var(--sur2);border:1px solid var(--bd);border-radius: 12px;padding: 14px var(--space-4);width:240px;cursor:pointer;transition:all .18s;position:relative}
.ar-branch:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.25)}
.ar-branch.eingang{border-left:3px solid var(--ac3)}
.ar-branch.eingang:hover{border-color:var(--ac3)}
.ar-branch.salescycle{border-left:3px solid var(--ac)}
.ar-branch.salescycle:hover{border-color:var(--ac)}
.ar-branch.industries{border-left:3px solid var(--ac2)}
.ar-branch.industries:hover{border-color:var(--ac2)}
.ar-branch.api{border-left:3px solid #a78bfa}
.ar-branch.api:hover{border-color:#a78bfa}
.ar-branch.onboarding{border-left:3px solid var(--tx2)}
.ar-branch.onboarding:hover{border-color:var(--tx2)}

.ar-branch-h{display:flex;align-items:center;gap: var(--space-2);margin-bottom: var(--space-2)}
.ar-branch-icon{width:30px;height:30px;border-radius: 8px;background:var(--sur3);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.ar-branch.eingang .ar-branch-icon{color:var(--ac3);background:rgba(245,158,11,.1)}
.ar-branch.salescycle .ar-branch-icon{color:var(--ac);background:rgba(213,217,96,.1)}
.ar-branch.industries .ar-branch-icon{color:var(--ac2);background:rgba(86,107,134,.18)}
.ar-branch.api .ar-branch-icon{color:#a78bfa;background:rgba(167,139,250,.12)}
.ar-branch.onboarding .ar-branch-icon{color:var(--tx2);background:var(--sur3)}
.ar-branch-name{font-size:13px;font-weight:700;color:var(--tx);flex:1;line-height:1.2}
.ar-branch-status{font-size:8.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding: 2px 7px;border-radius: 9px;flex-shrink:0}
.ar-branch-status.live{background:rgba(213,217,96,.15);color:var(--ac)}
.ar-branch-status.partial{background:rgba(245,158,11,.12);color:var(--ac3)}
.ar-branch-status.todo{background:var(--sur3);color:var(--tx3)}

.ar-branch-list{margin: 0;padding: 0;list-style:none;font-size:10.5px;color:var(--tx2);line-height:1.7}
.ar-branch-list li{padding: 2px 0;display:flex;gap: 6px;align-items:baseline}
.ar-branch-list li .check{color:var(--ac);flex-shrink:0;width:10px;font-size:10px;font-weight:700}
.ar-branch-list li .check.todo{color:var(--tx3)}
.ar-branch-list li .check.partial{color:var(--ac3)}

.ar-branch-foot{margin-top: 9px;padding-top: var(--space-2);border-top:1px dashed var(--bd);font-size:10px;color:var(--tx3);display:flex;justify-content:space-between;align-items:center}
.ar-branch-foot a{color:var(--ac);text-decoration:none;cursor:pointer;font-size:10px}
.ar-branch-foot a:hover{text-decoration:underline}

/* Detail-Sektionen unten */
.ar-detail{background:var(--sur);border:1px solid var(--bd);border-radius: 12px;padding: 18px 20px;margin-bottom: 14px}
.ar-detail.is-eingang{border-left:3px solid var(--ac3)}
.ar-detail.is-salescycle{border-left:3px solid var(--ac)}
.ar-detail.is-industries{border-left:3px solid var(--ac2)}
.ar-detail.is-api{border-left:3px solid #a78bfa}
.ar-detail.is-onboarding{border-left:3px solid var(--tx2)}
.ar-detail h3{margin: 0 0 var(--space-1);font-size:14px;font-weight:600;color:var(--tx);display:flex;align-items:center;gap: var(--space-2)}
.ar-detail h3 .ar-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding: 2px 7px;border-radius: 9px}
.ar-detail h3 .ar-tag.live{background:rgba(213,217,96,.15);color:var(--ac)}
.ar-detail h3 .ar-tag.partial{background:rgba(245,158,11,.12);color:var(--ac3)}
.ar-detail h3 .ar-tag.todo{background:var(--sur3);color:var(--tx3)}
.ar-detail p.ar-sub{margin: 0 0 var(--space-3);font-size:11.5px;color:var(--tx3)}
.ar-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap: 10px}
.ar-detail-item{background:var(--sur2);border:1px solid var(--bd);border-radius: 8px;padding: 10px var(--space-3);font-size:11px;color:var(--tx2);line-height:1.5}
.ar-detail-item strong{display:block;color:var(--tx);font-size:11.5px;font-weight:600;margin-bottom: 3px}
.ar-detail-item code{background:var(--sur3);padding: 1px 5px;border-radius: 3px;color:var(--ac3);font-family:'DM Mono',monospace;font-size:10px}

/* Pipeline-Stage-Editor — Slide-In von rechts. */
.pse-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:flex-end;z-index:9100;backdrop-filter:blur(2px)}
.pse-panel{background:var(--sur);width:min(720px,calc(100vw - 32px));height:100vh;display:flex;flex-direction:column;border-left:1px solid var(--bd);box-shadow:-10px 0 40px rgba(0,0,0,.35);animation:pseIn .18s ease-out}
@keyframes pseIn{from{transform:translateX(20px);opacity:0}to{transform:none;opacity:1}}

.pse-head{display:flex;align-items:flex-start;justify-content:space-between;padding: 18px 22px var(--space-3);border-bottom:1px solid var(--bd)}
.pse-eyebrow{font-size:10.5px;font-weight:500;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;margin-bottom: 3px}
.pse-title{font-size:16px;font-weight:600;color:var(--tx);margin: 0}
.pse-x{background:transparent;border:none;color:var(--tx3);font-size:22px;line-height:1;cursor:pointer;padding: var(--space-1) var(--space-2);border-radius: var(--radius-md);transition:background .12s}
.pse-x:hover{background:var(--sur2);color:var(--tx)}

.pse-body{display:flex;flex-direction:column;flex:1;min-height:0}
.pse-grow{flex:1;overflow:auto;padding: var(--space-4) 22px}
.pse-row{display:flex;gap: 11px;margin-bottom: 11px}
.pse-field{display:flex;flex-direction:column;gap: var(--space-1);margin-bottom: 11px;flex:1;min-width:0}
.pse-field label{font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}
.pse-input{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: var(--space-2) 11px;color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .12s}
.pse-input:focus{border-color:var(--ac)}

.pse-section-h{display:flex;align-items:center;justify-content:space-between;margin: 18px 0 10px;padding-top: 14px;border-top:1px solid var(--bd);font-size:11px;color:var(--tx3);text-transform:uppercase;letter-spacing:.06em;font-weight:500}

.pse-stages{display:flex;flex-direction:column;gap: 7px}
.pse-stage{display:flex;align-items:center;gap: 9px;padding: var(--space-2);background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;transition:border-color .12s}
.pse-stage:hover{border-color:var(--bd2)}
.pse-stage-pos{width:24px;height:24px;border-radius: 50%;background:var(--sur3);color:var(--tx2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}
.pse-stage-fields{display:grid;grid-template-columns:1.4fr 1fr 110px;gap: 7px;flex:1;min-width:0}
.pse-stage-fields .pse-input{padding: 6px 9px;font-size:12px}
.pse-stage-key{font-family:'DM Mono',ui-monospace,monospace;font-size:11.5px}
.pse-stage-actions{display:flex;gap: 3px;flex-shrink:0}
.pse-mini{width:26px;height:26px;border:1px solid var(--bd);background:var(--sur);color:var(--tx2);border-radius: 5px;cursor:pointer;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .12s}
.pse-mini:hover:not(:disabled){border-color:var(--bd2);color:var(--tx)}
.pse-mini:disabled{opacity:.4;cursor:not-allowed}
.pse-mini.danger:hover{border-color:var(--ac4);color:var(--ac4)}

.pse-empty{padding: 18px;text-align:center;color:var(--tx3);font-size:12px;background:var(--sur2);border:1px dashed var(--bd);border-radius: 7px}

.pse-foot{display:flex;gap: var(--space-2);justify-content:flex-end;padding: 14px 22px;border-top:1px solid var(--bd);background:var(--sur)}
.pse-btn{padding: var(--space-2) 14px;border-radius: 7px;font-size:12.5px;font-family:'DM Sans',sans-serif;cursor:pointer;border:1px solid var(--bd);background:var(--sur2);color:var(--tx);transition:all .12s}
.pse-btn:hover:not(:disabled){border-color:var(--bd2)}
.pse-btn.primary{background:var(--ac);color:var(--ac-on);border-color:var(--ac);font-weight:500}
.pse-btn.primary:hover:not(:disabled){filter:brightness(1.05)}
.pse-btn.ghost{background:transparent}
.pse-btn:disabled{opacity:.5;cursor:not-allowed}

/* CH E-Mail-Composer — Slide-In von rechts mit Vorlage + Anhang-Picker. */
.cec-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:flex-end;z-index:9050;backdrop-filter:blur(2px)}
.cec-panel{background:var(--sur);width:min(640px,calc(100vw - 32px));height:100vh;display:flex;flex-direction:column;border-left:1px solid var(--bd);box-shadow:-10px 0 40px rgba(0,0,0,.35);animation:cecIn .18s ease-out}
@keyframes cecIn{from{transform:translateX(20px);opacity:0}to{transform:none;opacity:1}}

.cec-head{display:flex;align-items:flex-start;justify-content:space-between;padding: 18px 22px var(--space-3);border-bottom:1px solid var(--bd)}
.cec-eyebrow{font-size:10.5px;font-weight:500;color:var(--tx3);text-transform:uppercase;letter-spacing:.07em;margin-bottom: 3px}
.cec-title{font-size:16px;font-weight:600;color:var(--tx);margin: 0}
.cec-x{background:transparent;border:none;color:var(--tx3);font-size:22px;line-height:1;cursor:pointer;padding: var(--space-1) var(--space-2);border-radius: var(--radius-md);transition:background .12s}
.cec-x:hover{background:var(--sur2);color:var(--tx)}

.cec-body{display:flex;flex-direction:column;flex:1;min-height:0}
.cec-grow{flex:1;overflow:auto;padding: 14px 22px}
.cec-field{display:flex;flex-direction:column;gap: var(--space-1);margin-bottom: 11px}
.cec-field label{font-size:10.5px;color:var(--tx3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}
.cec-input{background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;padding: var(--space-2) 11px;color:var(--tx);font-size:12.5px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color .12s}
.cec-input:focus{border-color:var(--ac)}
.cec-body-text{font-family:'DM Mono',ui-monospace,monospace;font-size:12px;min-height:160px;resize:vertical;line-height:1.5}
.cec-from-info{padding: 7px 11px;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px;font-size:12px;color:var(--tx);font-family:'DM Sans',sans-serif}

.cec-attachments{display:flex;flex-direction:column;gap: 5px;max-height:200px;overflow:auto;padding: 6px;background:var(--sur2);border:1px solid var(--bd);border-radius: 7px}
.cec-att{display:flex;align-items:center;gap: var(--space-2);padding: 5px 7px;background:var(--sur);border:1px solid transparent;border-radius: 5px;font-size:12px;cursor:pointer}
.cec-att:hover{border-color:var(--bd)}
.cec-att input[type="checkbox"]{accent-color:var(--ac)}
.cec-att-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cec-att-meta{color:var(--tx3);font-size:11px;flex-shrink:0}
.cec-empty{padding: 11px 13px;text-align:center;color:var(--tx3);font-size:11.5px}

.cec-foot{display:flex;gap: var(--space-2);justify-content:flex-end;padding: 14px 22px;border-top:1px solid var(--bd);background:var(--sur)}
.cec-btn{padding: var(--space-2) 14px;border-radius: 7px;font-size:12.5px;font-family:'DM Sans',sans-serif;cursor:pointer;border:1px solid var(--bd);background:var(--sur2);color:var(--tx);transition:all .12s}
.cec-btn:hover:not(:disabled){border-color:var(--bd2)}
.cec-btn.primary{background:var(--ac);color:var(--ac-on);border-color:var(--ac);font-weight:500}
.cec-btn.primary:hover{filter:brightness(1.05)}
.cec-btn.ghost{background:transparent}

/* Bestell-ID Pill (2026-05-28) — wird in Termin-Tabellen verwendet. */

.bid-pill {
  display:inline-block;
  font-family:'DM Mono', monospace;
  font-size:10.5px;
  letter-spacing:.04em;
  padding: 2px 7px;
  border-radius: var(--radius-sm);
  background:rgba(122,128,36,.10);
  color:#5a6020;
  border:1px solid rgba(122,128,36,.18);
  cursor:default;
}
.bid-empty {
  color:var(--tx3);
  font-family:'DM Mono', monospace;
  font-size:11px;
}

/* Marktplatz-Tickets Modal (2026-05-28) */

.mp-tkt-wrap {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 80px;
}
.mp-tkt-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.45);
  animation: mpTktFade .15s ease;
}
@keyframes mpTktFade { from { opacity: 0; } to { opacity: 1; } }

.mp-tkt-modal {
  position: relative; z-index: 2;
  width: 640px; max-width: calc(100vw - 32px); max-height: calc(100vh - 120px);
  background: var(--bg); color: var(--tx);
  border-radius: 8px; box-shadow: 0 24px 60px rgba(0,0,0,.30);
  display: flex; flex-direction: column;
  animation: mpTktSlide .18s ease;
  overflow: hidden;
  font-family: 'Inter', sans-serif;
}
@keyframes mpTktSlide { from { transform: translateY(-12px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.mp-tkt-head {
  padding: 18px 22px 14px 22px;
  border-bottom: 1px solid rgba(0,0,0,.06);
  display: flex; justify-content: space-between; align-items: flex-start; gap: 14px;
}
.mp-tkt-head h3 {
  margin: 0 0 var(--space-1) 0; font-size: 15px; font-weight: 600; color: var(--tx); letter-spacing: -.01em;
}
.mp-tkt-head p {
  margin: 0; font-size: 11.5px; color: var(--tx3);
}
.mp-tkt-x {
  background: transparent; border: none; cursor: pointer;
  color: var(--tx3); font-size: 22px; line-height: 1; padding: 2px var(--space-2);
  border-radius: 5px;
}
.mp-tkt-x:hover { background: var(--sur2); color: var(--tx); }

.mp-tkt-body {
  padding: 14px 22px 18px 22px;
  overflow-y: auto;
}

.mp-tkt-reporter {
  background: var(--sur); border-radius: 5px;
  padding: var(--space-2) var(--space-3); margin-bottom: 14px;
  font-size: 11.5px; color: var(--tx2);
}
.mp-tkt-rep-l {
  text-transform: uppercase; letter-spacing: .05em;
  font-size: 9.5px; color: var(--tx3); font-weight: 600;
}
.mp-tkt-rep-type {
  font-family: 'DM Mono', monospace; font-size: 10px;
  color: var(--tx3); margin-left: 6px;
}

.mp-tkt-f { margin-bottom: var(--space-3); }
.mp-tkt-f label {
  display: block; font-size: 10px;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--tx3); margin-bottom: 5px; font-weight: 600;
}
.mp-tkt-f .mp-tkt-opt {
  text-transform: none; letter-spacing: 0;
  color: var(--tx3); font-weight: 400; font-size: 10px;
}
.mp-tkt-f input,
.mp-tkt-f select,
.mp-tkt-f textarea {
  width: 100%; box-sizing: border-box;
  padding: var(--space-2) var(--space-3);
  border: 1px solid rgba(0,0,0,.12); border-radius: 5px;
  font-family: 'Inter', sans-serif; font-size: 12.5px;
  background: var(--bg); color: var(--tx);
  outline: none;
}
.mp-tkt-f input:focus,
.mp-tkt-f select:focus,
.mp-tkt-f textarea:focus {
  border-color: var(--ac);
  box-shadow: 0 0 0 2px rgba(122,128,36,.15);
}
.mp-tkt-f textarea { resize: vertical; min-height: 80px; line-height: 1.5; }

.mp-tkt-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
@media (max-width: 560px) {
  .mp-tkt-row { grid-template-columns: 1fr; }
}

.mp-tkt-foot {
  padding: var(--space-3) 22px;
  border-top: 1px solid rgba(0,0,0,.06);
  display: flex; justify-content: flex-end; gap: var(--space-2);
  background: var(--sur);
}
.mp-tkt-btn {
  padding: var(--space-2) var(--space-4); border-radius: 5px;
  border: 1px solid rgba(0,0,0,.12);
  background: var(--bg); color: var(--tx2); cursor: pointer;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 400;
}
.mp-tkt-btn:hover { background: var(--sur2); color: var(--tx); }
.mp-tkt-btn-pri {
  background: var(--ac); color: var(--bg); border-color: var(--ac); font-weight: 500;
}
.mp-tkt-btn-pri:hover { filter: brightness(1.05); background: var(--ac); color: var(--bg); }
.mp-tkt-btn:disabled { opacity: .6; cursor: wait; }

/* Storno-spezifische Bits */
.mp-tkt-f .mp-tkt-hint {
  font-size: 10.5px; color: var(--tx3);
  margin: var(--space-1) 0 0; line-height: 1.4;
}
.mp-tkt-check {
  display: flex; align-items: flex-start; gap: var(--space-2);
  margin-bottom: var(--space-3);
  padding: 10px var(--space-3);
  background: rgba(212,175,55,.06);
  border: 1px solid rgba(212,175,55,.20);
  border-radius: 5px;
}
.mp-tkt-check input[type="checkbox"] {
  margin-top: 2px; flex-shrink: 0; cursor: pointer;
}
.mp-tkt-check label {
  font-size: 11.5px; color: var(--tx2); line-height: 1.5;
  text-transform: none; letter-spacing: 0; font-weight: 400;
  cursor: pointer;
}

/* Adress-Liste (Storno) */
.mp-tkt-addrlist {
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 5px;
  max-height: 200px; overflow-y: auto;
  background: var(--bg);
}
.mp-tkt-addrlist-hint {
  padding: var(--space-3) 14px;
  font-size: 11.5px; color: var(--tx3);
  font-style: italic;
}
.mp-tkt-addr {
  display: flex; align-items: center; gap: 10px;
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid rgba(0,0,0,.05);
  cursor: pointer;
  transition: background .12s ease;
}
.mp-tkt-addr:last-child { border-bottom: none; }
.mp-tkt-addr:hover { background: var(--sur); }
.mp-tkt-addr input[type="checkbox"] { flex-shrink: 0; cursor: pointer; margin: 0; }
.mp-tkt-addr-main {
  font-size: 12px; color: var(--tx); font-weight: 400;
  flex: 1; min-width: 0;
  text-transform: none; letter-spacing: 0;
}
.mp-tkt-addr-sub {
  font-size: 10.5px; color: var(--tx3);
  font-family: 'DM Mono', monospace;
  text-transform: none; letter-spacing: 0;
}

/* Storno-File-Upload-Komponente (2026-05-30, #9)
   Drop-Zone + Liste — wird im Storno-Modal eingebunden. */

.sf-drop {
  border: 1.5px dashed rgba(0,0,0,.18);
  border-radius: 8px;
  padding: 18px 16px;
  text-align: center;
  cursor: pointer;
  background: rgba(0,0,0,.015);
  transition: background .15s, border-color .15s;
  font-size: 12.5px;
  color: var(--tx2);
}
.sf-drop:hover { background: rgba(0,0,0,.04); border-color: var(--ac); }
.sf-drop.is-dragover { background: rgba(180,140,30,.10); border-color: var(--ac); color: var(--tx); }
.sf-drop-hint { font-weight: 400; }

.sf-list {
  margin-top: 8px;
  display: flex; flex-direction: column; gap: 4px;
}
.sf-item {
  display: flex; align-items: center; gap: 10px;
  padding: 5px 10px;
  border: 1px solid var(--bd);
  border-radius: 6px;
  background: var(--sur);
  font-size: 12px;
}
.sf-item-pending { background: rgba(180,140,30,.06); border-color: rgba(180,140,30,.30); }
.sf-name { flex: 1; color: var(--tx); text-decoration: none; }
.sf-name:hover { color: var(--ac); text-decoration: underline; }
.sf-size { font-family: 'DM Mono', monospace; font-size: 11px; color: var(--tx3); }
.sf-del {
  border: 0; background: transparent; color: var(--tx3); cursor: pointer;
  font-size: 16px; line-height: 1; padding: 0 4px;
}
.sf-del:hover { color: #b91c1c; }
.sf-empty { color: var(--tx3); font-size: 11.5px; font-style: italic; padding: 4px 0; }

/* =============================================================
   KVW Progress — Variante A (Rail + Mono-Labels)
   Schlanker, nuechterner Fortschrittsbalken.
   Keine Bubbles, kein Click-bei-Future.
   ============================================================= */

.kvw-progress-mount {
  max-width: 580px;
  margin: 0 auto 56px;
  width: 100%;
}

/* ------- Rail (1px Linie ueber volle Breite) ------- */
.kvw-a-pb-rail {
  position: relative;
  width: 100%;
  height: 2px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* ------- Fill (2px gelbe Linie, animiert) ------- */
.kvw-a-pb-fill {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 0;
  background: #d5d960;
  transition: width 0.35s ease;
}

/* ------- Labels-Grid ------- */
.kvw-a-pb-labels {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: 12px;
}

/* ------- Einzel-Label ------- */
.kvw-a-pb-label {
  font-family: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(139, 153, 184, 0.45);
  text-align: center;
  font-weight: 400;
  user-select: none;
  transition: color 0.2s ease;
}

/* ------- Erledigt: klickbar zum Zurueckspringen ------- */
.kvw-a-pb-label.is-done {
  color: rgba(232, 234, 240, 0.85);
  cursor: pointer;
}

.kvw-a-pb-label.is-done:hover {
  color: #d5d960;
}

/* ------- Aktiv: heller + bold ------- */
.kvw-a-pb-label.is-active {
  color: #e8eaf0;
  font-weight: 600;
}

/* MODAL — Phase 4 Welle 3.P */
.mov{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);z-index:300;display:none;align-items:center;justify-content:center}
[data-theme="light"] .mov{background:rgba(0,0,0,.22)}
.mov.open{display:flex}
.mbox{background:var(--sur);border:1px solid var(--bd);border-radius: 14px;padding: var(--space-5);width:510px;max-height:78vh;overflow-y:auto;animation:pop .17s ease;box-shadow:0 12px 40px rgba(0,0,0,.35)}
[data-theme="light"] .mbox{box-shadow:0 12px 40px rgba(0,0,0,.14)}
.mtitle{font-size:15.5px;font-weight:600;margin-bottom: var(--space-4);color:var(--tx);display:flex;align-items:center;justify-content:space-between}
.mfoot{display:flex;justify-content:flex-end;gap: var(--space-2);margin-top: 18px;padding-top: var(--space-4);border-top:1px solid var(--bd)}
/* DIST MODAL */

@keyframes cpblink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes bo{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-5px)}}
@keyframes pop{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes dotBounce{0%,80%,100%{transform:translateY(0);opacity:.7}40%{transform:translateY(-4px);opacity:1}}
@keyframes voicePulse{0%,100%{box-shadow:0 0 0 0 rgba(248,113,113,.3)}50%{box-shadow:0 0 0 6px rgba(248,113,113,.0)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes radarSlideIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes monSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--bd);border-radius: 2px}
::-webkit-scrollbar-thumb:hover{background:var(--bd2)}

.sr-item{padding: 9px 14px;cursor:pointer;display:flex;align-items:center;gap: 10px;font-size:12px;color:var(--tx2);border-bottom:1px solid var(--bd)}
.sr-item:last-child{border-bottom:none}.sr-item:hover{background:var(--sur2);color:var(--tx)}
.sr-cat{font-size:9px;font-weight:600;color:var(--tx3);text-transform:uppercase;letter-spacing:.08em;padding: var(--space-2) 14px var(--space-1);background:var(--sur2)}
.sv{font-size:16px;font-weight:600;font-family:'DM Mono',monospace}.sl{font-size:9.5px;color:var(--tx3);margin-top: 1px}
.ml{font-size:11px;color:var(--ac2);cursor:pointer}.ml:hover{text-decoration:underline}
.prog-wrap{margin-top: 11px;padding-top: 11px;border-top:1px solid var(--bd)}
.prog-row{display:flex;justify-content:space-between;font-size:10px;color:var(--tx3);margin-bottom: var(--space-1)}
.prog-bar{height:3px;background:var(--sur3);border-radius: 2px;overflow:hidden}
.prog-f{height:100%;background:linear-gradient(90deg,var(--ac),var(--ac2));border-radius: 2px}
.sb2{display:inline-flex;align-items:center;gap: 3px;font-size:9.5px;padding: 2px 7px;border-radius: 14px;font-weight:500}
.sb2::before{content:'';width:4px;height:4px;border-radius: 50%;background:currentColor}
.sb2.aktiv{background:rgba(74,222,128,.09);color:var(--ac)}
.sb2.pending{background:rgba(245,158,11,.09);color:var(--ac3)}
.sb2.inaktiv{background:rgba(139,144,168,.07);color:var(--tx3)}
.sb2.bezahlt{background:rgba(34,211,238,.09);color:var(--ac2)}
.sb2.offen{background:rgba(245,158,11,.09);color:var(--ac3)}
/* FULLPAGE */
/* DEPLOY */
.egrid{display:grid;grid-template-columns:1fr 1fr;gap: 11px;margin-bottom: 20px}
.ename{font-size:13px;font-weight:600;margin-bottom: 2px}
.eurl{font-size:10.5px;color:var(--ac2);font-family:'DM Mono',monospace;margin-bottom: var(--space-2)}
.estatus{display:flex;align-items:center;gap: 5px;font-size:10.5px}
.edot{width:6px;height:6px;border-radius: 50%}
.edot.live{background:var(--ac);box-shadow:0 0 4px var(--ac)}.edot.dev{background:var(--ac3)}
.tl{position:relative;padding-left: 20px}
.tl::before{content:'';position:absolute;left:6px;top:0;bottom:0;width:1px;background:var(--bd)}
.tli{position:relative;margin-bottom: 15px}
.tldot{width:13px;height:13px;border-radius: 50%;position:absolute;left:-20px;top:2px;border:2px solid var(--bg)}
.tldot.s{background:var(--ac)}.tldot.p{background:var(--ac3)}.tldot.e{background:var(--ac4)}
.tlt{font-size:12px;font-weight:500}.tlm{font-size:10px;color:var(--tx3);margin-top: 2px;font-family:'DM Mono',monospace}
/* UNIFIED BUTTON VARIANTS */
#cp-einwand-radar{display:none;position:relative;margin: 0 0 var(--space-2) 0;background:linear-gradient(135deg,rgba(239,68,68,.15),rgba(220,38,38,.08));border:1px solid rgba(239,68,68,.4);border-radius: var(--radius-lg);padding: 10px 14px;overflow:hidden;transition:all .3s}
#cp-einwand-radar.radar-active{display:block;animation:radarSlideIn .3s ease-out}
#cp-einwand-vorhersage{background:var(--sur2);border:1px solid var(--bd);border-radius: var(--radius-lg);padding: 10px var(--space-3);margin-bottom: var(--space-2);font-size:11px}
#cp-ev-list{display:flex;flex-direction:column;gap: 5px}
#cp-ev-list.hidden{display:none}
/* BATTLE-CARD */
#cp-battle-card{display:none;position:relative;margin: 0 0 var(--space-2) 0;border-radius: var(--radius-lg);overflow:hidden;border:1px solid rgba(239,68,68,.35)}
#cp-battle-card.card-active{display:block;animation:radarSlideIn .3s ease-out}

