:root{
  /* Backgrounds */
  --bg-main:#070712; --deep:#0B0A18; --panel:#111126; --panel2:#17152F; --panel3:#1B1738;
  /* Keep legacy names pointing to new values for compatibility */
  --black:#070712; --bg-panel:#111126; --bg-panel-soft:#17152F; --bg-card:#1B1738; --bg-card-hover:#241C49;

  /* Purple */
  --primary:#7C3AED; --primary-soft:#8B5CF6; --primary-light:#A78BFA; --primary-deep:#4C1D95;
  --purple-glow:#9333EA; --purple-dark:#2E1065;

  /* Gold (sparingly) */
  --gold:#D6B56D; --gold2:#E6C982; --gold3:#9F8552; --gold-dark:#6B542C;

  /* Text */
  --white:#F8F7FF; --muted:#D6D2E8; --dim:#9A94B8; --disabled:#625B7C;

  /* Borders */
  --line:rgba(167,139,250,.16); --line-medium:rgba(167,139,250,.28); --line-gold:rgba(214,181,109,.35);

  /* Status */
  --red:#EF4444; --green:#22C55E; --blue:#38BDF8;
  --success:#22C55E; --success-bg:rgba(34,197,94,.12);
  --warning:#F59E0B; --warning-bg:rgba(245,158,11,.12);
  --danger:#EF4444; --danger-bg:rgba(239,68,68,.12);
  --info:#38BDF8; --info-bg:rgba(56,189,248,.12);

  /* Radii */
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:24px; --r-2xl:32px;

  /* Typography */
  --fd:"Playfair Display","Cormorant Garamond",Georgia,serif;
  --fi:"Inter","Manrope",system-ui,sans-serif;
  --fb:"Inter","Manrope",system-ui,sans-serif;

  /* Safe area */
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
  --sidebar-w:240px;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:
    radial-gradient(circle at 20% 10%,rgba(124,58,237,.22),transparent 32%),
    radial-gradient(circle at 80% 0%,rgba(147,51,234,.18),transparent 30%),
    radial-gradient(circle at 50% 100%,rgba(214,181,109,.08),transparent 35%),
    linear-gradient(135deg,#070712 0%,#0B0A18 45%,#120B24 100%);
  color:var(--white); font-family:var(--fb); font-weight:300;
  -webkit-font-smoothing:antialiased; line-height:1.5;
}
a{color:var(--primary-light);text-decoration:none}
button{font-family:inherit;cursor:pointer}
::placeholder{color:var(--disabled)}

/* ============================================================
   SIDEBAR (desktop only)
   ============================================================ */
.sidebar{
  display:none;
}
@media(min-width:760px){
  body{
    display:flex; flex-direction:row; height:100vh; height:100dvh; overflow:hidden;
    padding-bottom:0;
  }
  .topbar{ display:none !important; }
  .tabbar{ display:none !important; }

  .sidebar{
    display:flex; flex-direction:column;
    width:var(--sidebar-w); flex-shrink:0;
    background:var(--deep); border-right:1px solid rgba(167,139,250,.12);
    height:100vh; height:100dvh; overflow:hidden;
    position:fixed; top:0; left:0; bottom:0; z-index:20;
  }
  .sb-brand{
    display:flex; align-items:center; gap:12px;
    padding:28px 18px 22px;
    border-bottom:1px solid rgba(167,139,250,.12);
  }
  .sb-mono{
    width:40px; height:40px; border-radius:11px; flex-shrink:0;
    background:linear-gradient(135deg,var(--primary),var(--purple-glow));
    color:#fff; font-family:var(--fd); font-size:18px; font-weight:600;
    display:flex; align-items:center; justify-content:center; letter-spacing:.04em;
    box-shadow:0 4px 16px rgba(124,58,237,.45), 0 0 0 1px rgba(167,139,250,.2);
  }
  .sb-title{
    font-family:var(--fd); font-size:15px; font-weight:600; color:var(--white);
    letter-spacing:.02em; line-height:1.2;
  }
  .sb-sub{
    font-family:var(--fb); font-size:11px; color:var(--dim); letter-spacing:.04em;
    margin-top:2px;
  }
  .sb-sub em{ color:var(--gold); font-style:normal; }

  .sb-nav{
    flex:1; overflow-y:auto; padding:16px 10px 10px;
  }
  .sb-group-label{
    font-size:10px; letter-spacing:.18em; text-transform:uppercase;
    color:rgba(167,139,250,.55); padding:0 14px; margin-bottom:6px; margin-top:6px;
  }
  .sb-tab{
    display:block; width:100%; text-align:left;
    background:none; border:none; color:rgba(248,247,255,.72);
    font-size:14.5px; font-weight:500; letter-spacing:.01em;
    padding:10px 14px; border-radius:12px; margin-bottom:3px;
    position:relative; transition:color .15s, background .15s;
    cursor:pointer;
  }
  .sb-tab:hover{ color:var(--white); background:rgba(167,139,250,.1); }
  .sb-tab.on{
    color:#ffffff;
    background:linear-gradient(135deg,var(--primary),var(--purple-glow));
    box-shadow:0 4px 18px rgba(124,58,237,.35), 0 0 0 1px rgba(167,139,250,.18);
    font-weight:600;
    text-shadow:0 1px 4px rgba(0,0,0,.25);
  }

  .sb-footer{
    padding:14px 12px; border-top:1px solid rgba(167,139,250,.12);
    display:flex; flex-direction:column; gap:10px;
  }
  .sb-add{
    width:100%; text-align:center;
  }
  .sb-status{
    display:flex; align-items:center; gap:8px;
    font-size:11px; color:var(--dim); letter-spacing:.04em;
  }
  .sb-dot{
    width:7px; height:7px; border-radius:50%; background:var(--disabled); flex-shrink:0;
    transition:background .3s;
  }
  .sb-dot.online{ background:var(--success); box-shadow:0 0 8px rgba(34,197,94,.5); }
  .sb-dot.offline{ background:var(--disabled); }

  .app-wrap{
    margin-left:var(--sidebar-w); flex:1; height:100vh; height:100dvh; overflow-y:auto;
  }
  main{
    max-width:960px; margin:0 auto; padding:28px 28px 50px;
  }
  .toast{
    left:calc(var(--sidebar-w) + 50%); transform:translateX(-50%) translateY(20px);
    bottom:30px;
  }
  .toast.on{ transform:translateX(-50%) translateY(0); }
}

/* ============================================================
   TOPBAR (mobile only)
   ============================================================ */
.topbar{
  position:sticky; top:0; z-index:30;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:calc(14px + var(--safe-t)) 20px 12px;
  background:rgba(7,7,18,.92);
  border-bottom:1px solid rgba(167,139,250,.12); backdrop-filter:blur(12px);
}
.brand{font-family:var(--fd);font-size:20px;font-weight:600;letter-spacing:.01em}
.brand em{color:var(--primary-light);font-style:normal}
.brand span{font-family:var(--fb);font-size:10px;font-weight:400;letter-spacing:.22em;
  text-transform:uppercase;color:var(--dim);margin-left:8px}
.addbtn{
  background:linear-gradient(135deg,var(--primary),var(--purple-glow)); color:#fff; border:none;
  border-radius:999px; padding:9px 18px; font-size:13px; font-weight:600;
  letter-spacing:.02em; white-space:nowrap;
  box-shadow:0 4px 14px rgba(124,58,237,.4);
}
.addbtn:active{transform:translateY(1px)}

/* ============================================================
   APP WRAP (mobile)
   ============================================================ */
.app-wrap{
  flex:1; overflow-y:auto;
}
main{
  max-width:1120px; margin:0 auto;
  padding:18px 16px calc(90px + var(--safe-b));
}

/* ============================================================
   TABBAR (mobile bottom)
   ============================================================ */
.tabbar{
  position:fixed; left:0; right:0; bottom:0; z-index:30;
  display:flex; justify-content:space-around;
  background:rgba(11,10,24,.97); border-top:1px solid rgba(167,139,250,.12);
  padding:8px 6px calc(8px + var(--safe-b)); backdrop-filter:blur(14px);
}
.tab{
  flex:1; background:none; border:none; color:var(--dim);
  font-size:10px; letter-spacing:.06em; padding:8px 2px; border-radius:10px;
  transition:color .2s;
}
.tab .ti{display:block}
.tab.on{color:var(--primary-light)}
.tab.on .ti{position:relative}
.tab.on .ti::after{content:'';position:absolute;left:50%;transform:translateX(-50%);
  bottom:-7px;width:5px;height:5px;border-radius:50%;background:var(--primary-light)}

/* ============================================================
   LAYOUT / SECTION HEADER
   ============================================================ */
.section-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 22px}
.section-h h1{font-family:var(--fd);font-size:32px;font-weight:500;letter-spacing:.01em;color:var(--white)}
.section-h .sub{color:var(--dim);font-size:11px;letter-spacing:.1em;text-transform:uppercase}

/* ============================================================
   KPI CARDS
   ============================================================ */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.kpi{
  background:linear-gradient(180deg,rgba(27,23,56,.92),rgba(17,17,38,.96));
  border:1px solid rgba(167,139,250,.18);
  border-radius:var(--r-lg);
  padding:20px 18px 16px; position:relative; overflow:hidden;
  box-shadow:0 8px 32px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(14px);
  transition:box-shadow .2s, border-color .2s, transform .2s;
}
.kpi:hover{
  border-color:rgba(167,139,250,.36);
  transform:translateY(-2px);
  box-shadow:0 16px 48px rgba(0,0,0,.42), 0 0 28px rgba(124,58,237,.12);
}
.kpi .v{
  font-family:var(--fd);font-size:44px;font-weight:500;
  color:var(--primary-light);line-height:1;letter-spacing:-.01em;
}
.kpi .l{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim);margin-top:10px;
}

/* ============================================================
   FILTER CHIPS + SEARCH
   ============================================================ */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{background:transparent;border:1px solid rgba(167,139,250,.18);border-radius:999px;
  padding:7px 14px;font-size:12px;color:var(--dim);transition:.2s;cursor:pointer;letter-spacing:.03em}
.chip:hover{border-color:rgba(167,139,250,.4);color:var(--white)}
.chip.on{background:rgba(124,58,237,.18);color:var(--primary-light);border-color:rgba(167,139,250,.5);font-weight:500}
.search{margin-left:auto}
.search input{background:rgba(255,255,255,.045);border:1px solid rgba(167,139,250,.18);border-radius:999px;
  color:var(--white);font-family:var(--fb);font-size:13px;padding:8px 16px;width:200px;outline:none}
.search input:focus{border-color:var(--primary-soft);box-shadow:0 0 0 4px rgba(139,92,246,.14)}

/* ============================================================
   CARDS
   ============================================================ */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{
  background:linear-gradient(180deg,rgba(27,23,56,.92),rgba(17,17,38,.96));
  border:1px solid rgba(167,139,250,.18);border-radius:var(--r-lg);
  padding:16px 16px 14px; position:relative; overflow:hidden;
  display:flex;flex-direction:column;gap:2px; cursor:pointer;
  box-shadow:0 24px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(18px);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card::before{
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:3px; border-radius:var(--r-lg) 0 0 var(--r-lg);
  background:var(--disabled); transition:background .2s;
}
.card:hover{
  border-color:rgba(167,139,250,.36);
  transform:translateY(-2px);
  box-shadow:0 30px 90px rgba(0,0,0,.52), 0 0 34px rgba(124,58,237,.14);
}

/* Status stripe colors */
.card.s-Neu::before{ background:var(--info); }
.card.s-Beantwortet::before{ background:var(--disabled); }
.card.s-Angebot::before{ background:var(--gold3); }
.card.s-Verhandlung::before{ background:var(--gold); }
.card.s-Gebucht::before{ background:var(--success); }
.card.s-Durchgeführt::before, .card.s-Durchgefuehrt::before{ background:#34d399; }
.card.s-Abgesagt::before, .card.s-Verloren::before{ background:var(--danger); }

.card-confirmed{
  border-color:rgba(34,197,94,.4);
  box-shadow:0 0 0 1px rgba(34,197,94,.15), 0 4px 24px rgba(34,197,94,.08);
}
.card-confirmed:hover{
  border-color:rgba(34,197,94,.65);
  box-shadow:0 0 0 1px rgba(34,197,94,.3), 0 6px 28px rgba(34,197,94,.15);
}
.card-confirmed .card-confirmed-ribbon{
  position:absolute;top:0;left:3px;right:0;
  background:linear-gradient(90deg,rgba(34,197,94,.15),transparent);
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--success);
  padding:4px 14px;border-bottom:1px solid rgba(34,197,94,.12);
}
.card-confirmed .card-top{padding-top:22px;}
.card-prospect{border-color:rgba(56,189,248,.22)}
.card-prospect:hover{border-color:rgba(56,189,248,.44)}

.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:2px}
.card-top .nm{flex:1;min-width:0;padding-right:0;margin-bottom:0}
.card-top .badge{position:static;flex-shrink:0;margin-top:4px}
.card .nm{font-family:var(--fd);font-size:20px;font-weight:600;line-height:1.2;margin-bottom:2px}
.card-email{font-size:11px;color:var(--dim);margin-bottom:2px}
.card .meta{color:var(--muted);font-size:13px;margin-top:2px}
.card .meta b{color:var(--white);font-weight:400}
.card .row{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--dim)}
.card .row span b{color:var(--gold2);font-weight:500}
.card-date{font-size:12px;color:var(--muted);font-weight:500}
.card-date-upcoming{color:var(--gold2);font-size:13px}
.card-date-upcoming em{font-style:normal;color:var(--gold);font-size:11px;margin-left:4px;
  background:rgba(214,181,109,.12);padding:1px 6px;border-radius:20px;border:1px solid rgba(214,181,109,.3)}
.card-action{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.4}
.card-action-overdue{color:var(--danger)}
.card-footer{display:flex;justify-content:space-between;font-size:10px;color:var(--dim);
  letter-spacing:.06em;margin-top:10px;padding-top:8px;border-top:1px solid rgba(167,139,250,.08)}
.badge{
  position:absolute;top:14px;right:14px;
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;border:1px solid;
  background:transparent;font-weight:600;
}
.st-Neu{color:var(--info);border-color:rgba(56,189,248,.3);background:rgba(56,189,248,.08)}
.st-Beantwortet{color:var(--dim);border-color:rgba(154,148,184,.2);background:rgba(154,148,184,.06)}
.st-Angebot{color:var(--gold2);border-color:rgba(230,201,130,.35);background:rgba(230,201,130,.08)}
.st-Verhandlung{color:var(--gold);border-color:rgba(214,181,109,.4);background:rgba(214,181,109,.1)}
.st-Gebucht{color:var(--success);border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.1)}
.st-Durchgefuehrt,.st-Durchgeführt{color:#34d399;border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.08)}
.st-Abgesagt,.st-Verloren{color:var(--danger);border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.08)}

/* Pills (inline status tags) */
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:9px;
  letter-spacing:.1em;text-transform:uppercase;border:1px solid;background:transparent;font-weight:600}
.pill-gebucht{color:var(--success);border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08)}
.pill-done{color:#34d399;border-color:rgba(52,211,153,.3);background:rgba(52,211,153,.06)}
.pill-angebot{color:var(--gold2);border-color:rgba(230,201,130,.35);background:rgba(230,201,130,.08)}
.pill-neu{color:var(--info);border-color:rgba(56,189,248,.3);background:rgba(56,189,248,.08)}

.empty{color:var(--dim);text-align:center;padding:70px 16px;font-family:var(--fd);font-size:22px}

/* ============================================================
   KALENDER TIMELINE
   ============================================================ */
.tline{display:flex;flex-direction:column;gap:8px}
.titem{
  display:flex;gap:16px;align-items:center;
  background:linear-gradient(180deg,rgba(27,23,56,.9),rgba(17,17,38,.94));
  border:1px solid rgba(167,139,250,.16);border-radius:var(--r-md);padding:16px 20px;
  cursor:pointer;transition:.2s;position:relative;overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.titem::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:transparent;border-radius:var(--r-md) 0 0 var(--r-md);transition:background .2s;
}
.titem:hover{border-color:rgba(167,139,250,.32);box-shadow:0 6px 24px rgba(0,0,0,.3),0 0 18px rgba(124,58,237,.1)}
.titem:hover::before{background:var(--primary)}
.titem .d{font-family:var(--fd);text-align:center;min-width:54px}
.titem .d .day{font-size:26px;font-weight:500;color:var(--primary-light);line-height:1}
.titem .d .mon{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.titem .info{flex:1}
.titem .info .t{font-family:var(--fd);font-size:18px;font-weight:500;color:var(--white);line-height:1.3}
.titem .info .s{font-size:12px;color:var(--dim);margin-top:3px}

/* ============================================================
   DRAWER
   ============================================================ */
.drawer-bg{position:fixed;inset:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;
  transition:.25s;z-index:40;backdrop-filter:blur(2px)}
.drawer-bg.on{opacity:1;visibility:visible}
.drawer{
  position:fixed;top:0;right:0;bottom:0;
  width:min(920px,100%);z-index:50;
  background:var(--deep);border-left:1px solid rgba(167,139,250,.14);
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  box-shadow:-24px 0 80px rgba(0,0,0,.5);
}
.drawer.on{transform:translateX(0)}
.drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:calc(18px + var(--safe-t)) 24px 16px;
  border-bottom:1px solid rgba(167,139,250,.12);flex-shrink:0;
}
.drawer-head h2{font-family:var(--fd);font-size:24px;font-weight:500}
.drawer-head .x{background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.2);border-radius:999px;
  color:var(--muted);font-size:12px;padding:7px 16px;letter-spacing:.04em;transition:.15s}
.drawer-head .x:hover{border-color:rgba(167,139,250,.5);color:var(--white);background:rgba(167,139,250,.1)}

/* Two-column layout */
.drawer-layout{
  flex:1; display:flex; overflow:hidden;
}
.drawer-body{
  flex:1; overflow-y:auto; padding:22px 24px;
  -webkit-overflow-scrolling:touch;
  border-right:1px solid rgba(167,139,250,.1);
}
.drawer-comms{
  width:300px; flex-shrink:0; overflow-y:auto;
  padding:22px 20px; background:rgba(0,0,0,.12);
  -webkit-overflow-scrolling:touch;
}

/* On narrow screens, stack single column */
@media(max-width:900px){
  .drawer{ width:min(560px,100%); }
  .drawer-layout{ flex-direction:column; }
  .drawer-body{ border-right:none; border-bottom:1px solid rgba(167,139,250,.1); }
  .drawer-comms{ width:100%; flex-shrink:0; }
}

.drawer-foot{
  display:flex;gap:10px;padding:16px 24px calc(16px + var(--safe-b));
  border-top:1px solid rgba(167,139,250,.12);background:var(--deep);flex-shrink:0;
}

/* ============================================================
   FORM FIELDS
   ============================================================ */
.f{margin-bottom:16px}
.f label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--primary-light);margin-bottom:6px;opacity:.8}
.f input,.f select,.f textarea{
  width:100%;background:rgba(255,255,255,.045);border:1px solid rgba(167,139,250,.18);border-radius:14px;
  color:var(--white);font-family:var(--fb);font-size:14px;font-weight:300;
  padding:11px 13px;outline:none; transition:border-color .15s, box-shadow .15s, background .15s;
}
.f textarea{min-height:96px;resize:vertical;line-height:1.55}
.f input:focus,.f select:focus,.f textarea:focus{
  border-color:var(--primary-soft);
  box-shadow:0 0 0 4px rgba(139,92,246,.14);
  background:rgba(255,255,255,.06);
}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),
    linear-gradient(135deg,var(--dim) 50%,transparent 50%);
  background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{border:none;border-radius:999px;padding:12px 22px;font-size:13px;font-weight:600;letter-spacing:.02em;transition:.15s}
.btn-p{
  background:linear-gradient(135deg,var(--primary) 0%,var(--purple-glow) 100%);
  color:#fff;flex:1;
  box-shadow:0 4px 18px rgba(124,58,237,.38);
}
.btn-p:hover{
  background:linear-gradient(135deg,#8B4FF0 0%,#A040F0 100%);
  box-shadow:0 6px 24px rgba(124,58,237,.55);
  transform:translateY(-1px);
}
.btn-s{
  background:rgba(255,255,255,.04);color:var(--muted);
  border:1px solid rgba(167,139,250,.22);
}
.btn-s:hover{border-color:rgba(167,139,250,.5);color:var(--white);background:rgba(167,139,250,.1);transform:translateY(-1px)}
.btn-d{background:none;color:var(--danger);border:1px solid rgba(239,68,68,.3)}
.btn-d:hover{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.6)}
.btn:active{transform:translateY(1px)}

/* ============================================================
   COMMUNICATION TIMELINE
   ============================================================ */
.hist{margin-bottom:12px}
.hist .h{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--primary-light);margin-bottom:14px;opacity:.8;
  padding-bottom:10px;border-bottom:1px solid rgba(167,139,250,.12);
}
.hist .e{display:flex;gap:10px;font-size:13px;color:var(--muted);margin-bottom:8px}
.hist .e .dt{color:var(--gold2);min-width:88px;font-variant-numeric:tabular-nums}

.comm-item{
  display:flex;align-items:baseline;gap:8px;padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;
}
.comm-item:last-child{border-bottom:none}
.ci{font-size:13px;min-width:18px;text-align:center;flex-shrink:0}
.ci-mail{color:var(--gold)}
.ci-oracle{color:var(--info)}
.ci-in{color:var(--success)}
.ci-note{color:var(--dim);font-size:18px;line-height:1}
.comm-date{color:var(--gold2);min-width:90px;font-size:11px;
  font-variant-numeric:tabular-nums;flex-shrink:0;letter-spacing:.03em}
.comm-text{color:var(--muted);line-height:1.5;font-size:13px}

/* ============================================================
   ACTS (Shows)
   ============================================================ */
.acts{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.act{
  background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.16);
  border-radius:var(--r-md);padding:12px;
}
.act-top{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.act-top .num{font-family:var(--fd);font-size:18px;color:var(--primary-light);min-width:24px}
.act-top input{flex:1}
.act .mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.act .mini input{font-size:13px;padding:8px 10px}
.act-actions{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}
.iconbtn{
  background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.16);color:var(--dim);
  border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer;transition:.15s;
}
.iconbtn:hover{border-color:rgba(167,139,250,.45);color:var(--white)}
.addact{
  background:none;border:1px dashed rgba(167,139,250,.22);color:var(--primary-light);
  border-radius:var(--r-md);padding:12px;width:100%;font-size:13px;margin-top:10px;
  cursor:pointer;transition:.15s;
}
.addact:hover{border-color:rgba(167,139,250,.5);background:rgba(167,139,250,.06)}

/* ============================================================
   NOTE BOX / INFO
   ============================================================ */
.note{
  background:linear-gradient(180deg,rgba(27,23,56,.9),rgba(17,17,38,.94));
  border:1px solid rgba(167,139,250,.18);border-radius:var(--r-lg);
  padding:22px;color:var(--muted);font-size:14px;line-height:1.65;
  box-shadow:0 8px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.note h3{font-family:var(--fd);color:var(--white);font-size:20px;font-weight:500;margin-bottom:10px}
.note a.big{display:inline-block;margin-top:14px;
  background:linear-gradient(135deg,var(--primary),var(--purple-glow));color:#fff;
  border-radius:999px;padding:11px 22px;font-weight:600;font-size:13px;
  box-shadow:0 4px 16px rgba(124,58,237,.35);}

/* ============================================================
   STATISTIK
   ============================================================ */
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.stat-box{
  background:linear-gradient(180deg,rgba(27,23,56,.9),rgba(17,17,38,.94));
  border:1px solid rgba(167,139,250,.16);border-radius:var(--r-md);padding:18px;
  box-shadow:0 4px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.stat-title{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-light);margin-bottom:14px;opacity:.8}
.stat-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;color:var(--muted)}
.stat-row span{min-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-row b{min-width:24px;text-align:right;color:var(--white)}
.stat-bar{flex:1;height:4px;background:rgba(167,139,250,.1);border-radius:4px;overflow:hidden}
.stat-bar div{height:100%;border-radius:4px;transition:.3s}
.stat-table{width:100%;border-collapse:collapse;font-size:12px}
.stat-table th{color:var(--dim);font-weight:400;letter-spacing:.08em;text-align:left;
  padding-bottom:8px;font-size:10px;text-transform:uppercase}
.stat-table td{padding:5px 0;color:var(--muted);border-top:1px solid rgba(167,139,250,.08)}
.stat-table td:last-child{color:var(--primary-light);text-align:right}
@media(max-width:600px){.stat-grid{grid-template-columns:1fr}}

/* ============================================================
   BRAIN
   ============================================================ */
.brain-oracle-section{margin-top:20px;padding-top:16px;border-top:1px solid rgba(167,139,250,.12)}

/* ============================================================
   OUTREACH
   ============================================================ */
.outreach-setup-note{margin-bottom:18px;border-color:rgba(239,68,68,.3);line-height:1.7}
.outreach-setup-note code{font-size:11px;background:rgba(255,255,255,.06);padding:2px 7px;border-radius:4px;font-family:var(--fb)}

/* ============================================================
   SOL
   ============================================================ */
.oracle-row{display:flex;gap:10px;margin:8px 0;flex-wrap:wrap}
.oracle-inbox{
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.16);border-radius:var(--r-md);
  padding:16px;font-size:12px;color:var(--muted);white-space:pre-wrap;line-height:1.6;
  max-height:260px;overflow-y:auto;font-family:var(--fb);
}

/* Nachfass */
.oracle-nf-head{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold3);margin-bottom:10px}
.oracle-nf-card{
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.22);
  border-radius:var(--r-md);padding:14px 16px;margin-bottom:10px;
}
.oracle-nf-meta{font-size:13px;margin-bottom:8px;color:var(--white)}
.oracle-nf-draft{
  width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.16);
  border-radius:8px;color:var(--white);font-size:12px;line-height:1.6;
  padding:10px 12px;font-family:var(--fb);resize:vertical;
}
.oracle-nf-actions{display:flex;gap:8px;margin-top:10px}
.btn-sm{padding:5px 12px;font-size:11px}

/* Sidebar-Badge */
.nf-badge{
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--primary),var(--purple-glow));
  color:#fff;border-radius:10px;font-size:10px;font-weight:700;
  min-width:16px;height:16px;padding:0 4px;margin-left:6px;vertical-align:middle;
  box-shadow:0 2px 8px rgba(124,58,237,.45);
}

/* ============================================================
   TOAST
   ============================================================ */
.toast{
  position:fixed;left:50%;bottom:calc(86px + var(--safe-b));
  transform:translateX(-50%) translateY(20px);
  background:linear-gradient(135deg,var(--primary),var(--purple-glow));
  color:#fff;padding:11px 22px;border-radius:999px;font-size:13px;font-weight:600;
  opacity:0;visibility:hidden;transition:.25s;z-index:60;white-space:nowrap;
  box-shadow:0 8px 28px rgba(124,58,237,.45);
}
.toast.on{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* ============================================================
   DOKUMENTE
   ============================================================ */
.dok-section{margin-bottom:36px}
.dok-section-title{font-family:var(--fd);font-size:22px;font-weight:500;margin-bottom:10px}
.dok-section-title span{color:var(--dim);font-size:14px;font-family:var(--fb);font-weight:400}
.dok-header{
  display:grid;grid-template-columns:130px 1fr 100px 110px 90px;gap:8px;
  padding:6px 14px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dim);border-bottom:1px solid rgba(167,139,250,.12);margin-bottom:4px;
}
.dok-row{
  display:grid;grid-template-columns:130px 1fr 100px 110px 90px;gap:8px;align-items:center;
  padding:11px 14px;
  background:linear-gradient(180deg,rgba(27,23,56,.85),rgba(17,17,38,.9));
  border:1px solid rgba(167,139,250,.14);border-radius:var(--r-md);
  margin-bottom:5px;cursor:pointer;transition:.15s;
}
.dok-row:hover{border-color:rgba(167,139,250,.35);background:rgba(27,23,56,.95);transform:translateY(-1px)}
.dok-row-num{font-size:12px;font-weight:500;color:var(--primary-light);letter-spacing:.04em}
.dok-row-name{font-size:13px;color:var(--white)}
.dok-row-date{font-size:12px;color:var(--dim)}
.dok-row-amt{font-size:13px;font-weight:500;text-align:right}
.dok-row-status{font-size:11px;letter-spacing:.06em;text-align:right}

/* Document editor */
.doc-editor{display:flex;flex-direction:column;min-height:0}
.doc-editor-topbar{
  display:flex;justify-content:space-between;align-items:center;
  padding:0 0 18px;border-bottom:1px solid rgba(167,139,250,.12);margin-bottom:22px;flex-shrink:0;
  flex-wrap:wrap;gap:12px;
}
.doc-editor-title{font-family:var(--fd);font-size:22px;font-weight:500}
.doc-editor-body{display:flex;gap:24px;flex-wrap:wrap}
.doc-editor-form{width:340px;flex-shrink:0}
.doc-editor-items{flex:1;min-width:300px}
.doc-form-section{
  font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--primary-light);margin-bottom:12px;padding-bottom:6px;
  border-bottom:1px solid rgba(167,139,250,.12);opacity:.8;
}
.doc-status-sel{
  background:rgba(255,255,255,.045);border:1px solid rgba(167,139,250,.18);border-radius:8px;
  color:var(--white);font-family:var(--fb);font-size:13px;padding:8px 12px;
  outline:none;cursor:pointer;
}
.doc-status-sel:focus{border-color:var(--primary-soft);box-shadow:0 0 0 4px rgba(139,92,246,.14)}

/* Items table */
.dok-items-table{width:100%;border-collapse:collapse;font-size:13px}
.dok-items-table thead th{
  font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);
  padding:6px 6px 8px;border-bottom:1px solid rgba(167,139,250,.12);font-weight:400;
}
.dok-items-table tbody td{
  padding:4px 4px;border-bottom:1px solid rgba(167,139,250,.07);vertical-align:top;
}
.dok-items-table textarea,.dok-items-table input,.dok-items-table select{
  background:rgba(255,255,255,.04);border:1px solid transparent;border-radius:6px;
  color:var(--white);font-family:var(--fb);font-size:12px;padding:5px 8px;
  width:100%;outline:none;transition:border-color .15s;appearance:none;-webkit-appearance:none;
}
.dok-items-table textarea{resize:none}
.dok-items-table input:focus,.dok-items-table textarea:focus,.dok-items-table select:focus{
  border-color:var(--primary-soft);
}
.btn-icon-del{
  background:none;border:none;color:var(--dim);font-size:11px;
  padding:4px 8px;border-radius:6px;transition:.15s;cursor:pointer;
}
.btn-icon-del:hover{color:var(--danger);background:rgba(239,68,68,.1)}

/* Totals */
.dok-totals{margin-top:18px;border-top:1px solid rgba(167,139,250,.12);padding-top:12px}
.dok-total-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:5px 2px;font-size:13px;color:var(--muted);
}
.dok-total-final{
  font-family:var(--fd);font-size:24px;font-weight:600;color:var(--primary-light);
  border-top:1px solid rgba(167,139,250,.12);margin-top:8px;padding-top:8px;
}

/* ============================================================
   STEUERAUSWERTUNG
   ============================================================ */
.stq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.stq-block{
  background:linear-gradient(180deg,rgba(27,23,56,.9),rgba(17,17,38,.94));
  border:1px solid rgba(167,139,250,.16);border-radius:var(--r-lg);padding:18px 16px;
}
.stq-empty{opacity:.5}
.stq-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary-light);margin-bottom:12px;opacity:.8}
.stq-row{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);padding:3px 0}
.stq-total{font-weight:500;color:var(--white);border-top:1px solid rgba(167,139,250,.12);margin-top:6px;padding-top:6px}
.stq-docs{font-size:11px;color:var(--dim);margin-top:8px}
.stq-jahres{
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.3);
  border-radius:var(--r-lg);padding:20px 22px;margin-bottom:24px;max-width:400px;
}
.stq-jahres-title{font-family:var(--fd);font-size:20px;font-weight:500;margin-bottom:14px}
.stq-hint{
  background:rgba(255,255,255,.03);border:1px solid rgba(167,139,250,.14);
  border-radius:var(--r-md);padding:18px 20px;margin-bottom:20px;max-width:560px;
}
@media(max-width:760px){.stq-grid{grid-template-columns:1fr 1fr}}

/* ============================================================
   STEUER-HUB
   ============================================================ */
.steuer-vollst{
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.14);
  border-radius:10px;padding:14px 16px;margin-bottom:18px;
}
.steuer-vollst-title{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);margin-bottom:10px;opacity:.8}
.steuer-vollst-grid{display:flex;flex-direction:column;gap:6px}
.svitem{display:flex;gap:8px;font-size:12px;align-items:flex-start}
.svitem span:first-child{font-size:14px;flex-shrink:0;width:18px}
.svok{color:var(--success)}
.svwarn{color:var(--warning)}

.steuer-card{
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.14);
  border-radius:10px;padding:18px 20px;margin-bottom:18px;
}
.steuer-card-title{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--primary-light);margin-bottom:14px;opacity:.8}

.steuer-qtabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.steuer-qtab{
  background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.14);
  color:var(--muted);border-radius:6px;padding:5px 12px;font-size:12px;cursor:pointer;transition:all .15s;
}
.steuer-qtab:hover{border-color:rgba(167,139,250,.35);color:var(--white)}
.steuer-qtab.on{background:rgba(124,58,237,.18);border-color:rgba(167,139,250,.5);color:var(--primary-light);font-weight:500}

.steuer-kz-table{display:flex;flex-direction:column;gap:0}
.skz-row{display:grid;grid-template-columns:52px 1fr 140px;gap:10px;padding:8px 0;
  border-bottom:1px solid rgba(167,139,250,.1);align-items:baseline;font-size:13px}
.skz-row:last-child{border-bottom:none}
.skz-head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);padding-bottom:6px}
.skz-derived{opacity:.65}
.skz-total{border-top:2px solid rgba(167,139,250,.3)!important;padding-top:10px;font-weight:600}
.kz-nr{font-size:16px;font-weight:700;color:var(--primary-light);text-align:center;letter-spacing:-.5px}
.skz-head .kz-nr{font-size:10px;color:var(--dim)}
.kz-val{text-align:right;font-variant-numeric:tabular-nums}
.kz-minus{color:var(--muted)}
.kz-erst{color:var(--success)}
.kz-zahl{color:var(--white);font-weight:600}
.eur-z{font-size:10px;color:var(--dim);margin-left:4px}

/* ============================================================
   AUSGABEN
   ============================================================ */
.ausgaben-list{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.ausgabe-row{
  display:flex;align-items:center;gap:12px;padding:10px 14px;
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.14);border-radius:var(--r-sm);
  cursor:pointer;transition:border-color .15s, background .15s;
}
.ausgabe-row:hover{border-color:rgba(167,139,250,.35);background:rgba(167,139,250,.06)}
.ausgabe-thumb{
  width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0;
  background:rgba(167,139,250,.08);border:1px solid rgba(167,139,250,.14);
}
.ausgabe-thumb-empty{
  width:48px;height:48px;border-radius:6px;flex-shrink:0;
  background:rgba(167,139,250,.08);border:1px solid rgba(167,139,250,.14);
  display:flex;align-items:center;justify-content:center;
  color:var(--dim);font-size:20px;
}
.ausgabe-main{flex:1;min-width:0}
.ausgabe-top{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}
.ausgabe-kat{
  font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--gold);background:rgba(214,181,109,.1);padding:2px 6px;border-radius:3px;
}
.ausgabe-vendor{font-size:13px;font-weight:500;color:var(--white);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ausgabe-desc{font-size:12px;color:var(--dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ausgabe-date{font-size:11px;color:var(--dim);white-space:nowrap}
.ausgabe-amt{text-align:right;flex-shrink:0}
.ausgabe-brutto{font-size:15px;font-weight:500;color:var(--gold)}
.ausgabe-vat{font-size:11px;color:var(--dim)}

/* Category bars */
.kat-bars{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.kat-bar{display:grid;grid-template-columns:160px 1fr 90px;align-items:center;gap:10px;font-size:12px}
.kat-bar-label{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kat-bar-track{background:rgba(167,139,250,.1);border-radius:4px;height:6px;overflow:hidden}
.kat-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-soft));border-radius:4px}
.kat-bar-amt{text-align:right;color:var(--white);font-size:12px}

/* Ausgabe editor */
.ausgabe-editor{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}
@media(max-width:700px){.ausgabe-editor{grid-template-columns:1fr}}
.ausgabe-editor-form{display:flex;flex-direction:column;gap:10px}
.ausgabe-editor-beleg{display:flex;flex-direction:column;gap:10px}
.beleg-drop{
  border:1.5px dashed rgba(167,139,250,.22);border-radius:10px;padding:16px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;background:rgba(167,139,250,.04);min-height:160px;cursor:pointer;
  transition:border-color .15s, background .15s;
}
.beleg-drop:hover{border-color:rgba(167,139,250,.45);background:rgba(167,139,250,.08)}
.beleg-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--dim);font-size:13px}
.beleg-placeholder .beleg-icon{font-size:32px}
.beleg-preview{width:100%;max-height:240px;object-fit:contain;border-radius:8px}
.beleg-actions{display:flex;gap:8px}

/* ============================================================
   DOK ACTIONS ROW
   ============================================================ */
.doc-actions-row{
  display:flex;gap:8px;flex-wrap:wrap;padding:10px 20px;
  background:rgba(0,0,0,.12);border-bottom:1px solid rgba(167,139,250,.1);
}
.dok-overdue{
  display:inline-flex;align-items:center;gap:4px;
  color:var(--danger);font-size:11px;font-weight:500;margin-left:8px;
}

/* ============================================================
   SMALL SCREEN ADJUSTMENTS
   ============================================================ */
@media(max-width:520px){
  .kpis{grid-template-columns:1fr 1fr}
  .f-row{grid-template-columns:1fr}
  .search input{width:130px}
  .brand span{display:none}
  .kpi .v{font-size:30px}
}

/* ============================================================
   KALENDER GRID
   ============================================================ */
.cal-wrap{
  background:linear-gradient(180deg,rgba(27,23,56,.9),rgba(17,17,38,.94));
  border:1px solid rgba(167,139,250,.16);border-radius:var(--r-md);padding:16px;margin-bottom:4px;
  box-shadow:0 4px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-month-label{font-family:var(--fd);font-size:20px;color:var(--white);letter-spacing:.02em}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-head{text-align:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:6px 0}
.cal-head.cal-wknd{color:rgba(167,139,250,.4)}
.cal-cell{min-height:80px;border-radius:8px;padding:6px 5px 5px;cursor:pointer;
  transition:background .12s;display:flex;flex-direction:column;align-items:stretch;
  gap:3px;border:1px solid transparent}
.cal-cell:hover{background:rgba(167,139,250,.07)}
.cal-cell.cal-today .cal-num{
  background:linear-gradient(135deg,var(--primary),var(--purple-glow));
  color:#fff;border-radius:50%;width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;font-weight:600;align-self:center;
  box-shadow:0 2px 10px rgba(124,58,237,.45);
}
.cal-cell.cal-sel{background:rgba(124,58,237,.12);border-color:rgba(167,139,250,.3)}
.cal-cell.cal-wknd-cell .cal-num{color:rgba(167,139,250,.55)}
.cal-cell.cal-empty{cursor:default}
.cal-num{font-size:13px;color:var(--white);line-height:1;text-align:center;margin-bottom:3px}
.cal-chips{display:flex;flex-direction:column;gap:2px}
.cal-chip{display:block;font-size:10px;line-height:1.3;padding:2px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.cal-chip-bos{background:rgba(124,58,237,.22);color:var(--primary-light);border-left:2px solid var(--primary)}
.cal-chip-auftritt{background:rgba(155,89,182,.25);color:#c39bd3;border-left:2px solid #9B59B6}
.cal-chip-privat{background:rgba(74,144,217,.2);color:#85b8e8;border-left:2px solid #4A90D9}
.cal-chip-more{font-size:9px;color:var(--dim);padding:1px 5px}
.cal-legend{display:flex;gap:12px;margin-top:10px;font-size:11px;color:var(--dim)}
.cal-legend span{display:flex;align-items:center;gap:5px}

/* ============================================================
   SHOWS (PROGRAMM-BAUKASTEN)
   ============================================================ */
.show-acts-preview{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(167,139,250,.1)}
.show-acts-preview span{font-size:12px;color:var(--dim)}

/* ============================================================
   KONTAKTE CRM
   ============================================================ */
.crm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.crm-card{
  background:linear-gradient(180deg,rgba(27,23,56,.88),rgba(17,17,38,.94));
  border:1px solid rgba(167,139,250,.16);border-radius:var(--r-md);padding:16px;
  cursor:pointer;transition:border-color .15s, transform .15s, box-shadow .15s;
  box-shadow:0 4px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.crm-card:hover{border-color:rgba(167,139,250,.38);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.3),0 0 20px rgba(124,58,237,.1)}
.crm-card-top{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.crm-avatar{
  width:42px;height:42px;border-radius:50%;
  background:rgba(124,58,237,.2);border:1px solid rgba(167,139,250,.3);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fd);font-size:20px;color:var(--primary-light);flex-shrink:0;
}
.crm-card-info{flex:1;min-width:0}
.crm-name{font-size:16px;font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-meta{font-size:12px;color:var(--dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.crm-badge{font-size:10px;padding:2px 8px;border-radius:999px;font-weight:500;letter-spacing:.04em}
.crm-badge-stamm{background:rgba(214,181,109,.12);color:var(--gold2);border:1px solid rgba(214,181,109,.3)}
.crm-badge-oracle{background:rgba(124,58,237,.15);color:var(--primary-light);border:1px solid rgba(167,139,250,.3)}
.crm-badge-status{background:rgba(255,255,255,.05);color:var(--dim);border:1px solid rgba(167,139,250,.14)}
.crm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px 0;
  border-top:1px solid rgba(167,139,250,.1);border-bottom:1px solid rgba(167,139,250,.1);margin-bottom:10px}
.crm-stat{text-align:center}
.crm-stat-v{display:block;font-size:14px;font-weight:600;color:var(--white)}
.crm-stat-l{display:block;font-size:10px;color:var(--dim);margin-top:2px;letter-spacing:.04em}
.crm-contact-row{display:flex;gap:12px;flex-wrap:wrap}
.crm-contact-row a{font-size:12px;color:var(--primary-light);text-decoration:none}
.crm-contact-row a:hover{text-decoration:underline}

/* CRM Ansicht-Toggle */
.crm-view-toggle{display:flex;gap:2px;background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.14);border-radius:8px;padding:3px}
.crm-vbtn{background:none;border:none;color:var(--dim);padding:5px 8px;border-radius:6px;transition:background .12s,color .12s;display:flex;align-items:center}
.crm-vbtn:hover{color:var(--white)}
.crm-vbtn.on{background:rgba(124,58,237,.2);color:var(--primary-light)}

/* CRM Spalten-Picker */
.crm-col-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px;padding:10px 14px;
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.14);border-radius:10px}
.crm-col-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-right:4px;white-space:nowrap}
.crm-col-btn{background:none;border:1px solid rgba(167,139,250,.14);color:var(--dim);font-size:11px;padding:3px 10px;border-radius:999px;cursor:pointer;transition:all .12s}
.crm-col-btn:hover{color:var(--white);border-color:rgba(167,139,250,.35)}
.crm-col-btn.on{background:rgba(124,58,237,.18);border-color:rgba(167,139,250,.45);color:var(--primary-light)}

/* CRM Liste */
.crm-list{
  background:linear-gradient(180deg,rgba(27,23,56,.85),rgba(17,17,38,.9));
  border:1px solid rgba(167,139,250,.16);border-radius:var(--r-md);overflow:hidden;
}
.crm-list-head{display:grid;gap:12px;padding:10px 16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid rgba(167,139,250,.12)}
.crm-list-row{display:grid;gap:12px;padding:12px 16px;align-items:center;cursor:pointer;transition:background .12s;border-bottom:1px solid rgba(167,139,250,.08)}
.crm-list-row:last-child{border-bottom:none}
.crm-list-row:hover{background:rgba(167,139,250,.06)}
.crm-list-name{display:flex;gap:10px;align-items:center;min-width:0}
.crm-list-name>span:last-child{display:flex;flex-direction:column;gap:1px;min-width:0}
.crm-list-cell{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crm-avatar-sm{width:30px;height:30px;font-size:13px;flex-shrink:0}

/* ---- Konversionstrichter ---- */
.funnel-wrap{display:flex;flex-direction:column;gap:6px}
.funnel-row{display:grid;grid-template-columns:100px 1fr 80px;align-items:center;gap:10px}
.funnel-label{font-size:12px;color:var(--muted);white-space:nowrap}
.funnel-bar{height:10px;background:rgba(167,139,250,.1);border-radius:5px;overflow:hidden}
.funnel-bar div{height:100%;border-radius:5px;transition:width .4s;background:linear-gradient(90deg,var(--primary),var(--primary-soft))}
.funnel-num{font-size:12px;text-align:right}
.funnel-num b{color:var(--white)}
.funnel-num span{color:var(--dim);font-size:11px;margin-left:3px}

/* ---- Verknüpfte Dokumente im Drawer ---- */
.linked-doc{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;transition:background .12s}
.linked-doc:hover{background:rgba(167,139,250,.07)}
.linked-doc .comm-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- Gagen-Editor ---- */
.ge-progress{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.ge-progress-bar{flex:1;height:6px;background:rgba(167,139,250,.1);border-radius:3px;overflow:hidden}
.ge-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-soft));border-radius:3px;transition:width .4s}
.ge-progress-text{font-size:12px;color:var(--dim);white-space:nowrap}
.ge-wrap{overflow-x:auto}
.ge-table{width:100%;border-collapse:collapse;font-size:13px}
.ge-table th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);
  padding:8px 12px;border-bottom:1px solid rgba(167,139,250,.12);text-align:left;font-weight:400}
.ge-table td{padding:8px 12px;border-bottom:1px solid rgba(167,139,250,.07);vertical-align:middle}
.ge-table tr:last-child td{border-bottom:none}
.ge-table tr:hover td{background:rgba(167,139,250,.05)}
.ge-table tr.ge-row-done td{opacity:.45}
.ge-table tr.ge-row-done .ge-saved{display:inline!important}
.ge-name{color:var(--white);font-weight:500;white-space:nowrap}
.ge-datum{color:var(--dim);white-space:nowrap}
.ge-anlass{color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ge-fee-wrap{display:flex;align-items:center;gap:6px}
.ge-input{
  width:90px;background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.18);
  border-radius:8px;color:var(--white);padding:6px 10px;font-size:13px;font-family:var(--fb);
  outline:none;transition:border-color .12s;
}
.ge-input:focus{border-color:var(--primary-soft);box-shadow:0 0 0 3px rgba(139,92,246,.12)}
.ge-input.ge-input-ok{border-color:var(--success);background:rgba(34,197,94,.06)}
.ge-unit{font-size:11px;color:var(--dim)}
.ge-saved{font-size:12px;color:var(--success)}
.ge-skip{font-size:11px;color:var(--dim);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px}
.ge-skip:hover{color:var(--white)}

/* ---- Login / Landing-Screen ---- */
.login-wrap{
  position:fixed;inset:0;overflow-y:auto;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 20% 10%,rgba(124,58,237,.25),transparent 35%),
    radial-gradient(circle at 80% 0%,rgba(147,51,234,.2),transparent 32%),
    radial-gradient(circle at 50% 100%,rgba(214,181,109,.07),transparent 38%),
    linear-gradient(135deg,#070712 0%,#0B0A18 45%,#120B24 100%);
  padding:40px 20px;
}
.login-inner{
  display:flex;align-items:center;justify-content:center;gap:80px;
  width:100%;max-width:960px;
}
.landing-hero{
  flex:0 0 auto;max-width:420px;
  display:flex;flex-direction:column;gap:0;
}
.landing-gem{
  font-size:40px;color:var(--primary-light);margin-bottom:20px;
  filter:drop-shadow(0 0 24px rgba(124,58,237,.7));
}
.landing-title{
  font-family:var(--fd);font-size:54px;font-weight:500;color:var(--white);
  margin:0 0 12px;letter-spacing:-.02em;line-height:1.1;
}
.landing-sub{
  font-size:15px;color:var(--dim);letter-spacing:.02em;margin:0 0 32px;
  font-family:var(--fb);line-height:1.6;
}
.landing-features{
  display:flex;gap:8px;flex-wrap:wrap;max-width:400px;
}
.landing-features span{
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);
  border:1px solid rgba(167,139,250,.2);padding:5px 13px;border-radius:999px;
  background:rgba(167,139,250,.06);
}
.landing-copy{font-size:11px;color:rgba(255,255,255,.12);margin-top:28px;letter-spacing:.06em}
.login-box{
  flex:0 0 360px;
  background:linear-gradient(180deg,rgba(27,23,56,.94),rgba(17,17,38,.98));
  border:1px solid rgba(167,139,250,.24);border-radius:var(--r-xl);
  padding:36px 32px;
  box-shadow:0 32px 80px rgba(0,0,0,.5), 0 0 60px rgba(124,58,237,.1),
    inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(20px);
}
.login-brand{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.login-mono{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--purple-glow));
  color:#fff;font-family:var(--fd);font-size:20px;font-weight:500;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 18px rgba(124,58,237,.5);
}
.login-err{
  background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);
  color:var(--danger);font-size:13px;padding:10px 14px;border-radius:10px;margin-bottom:16px;
}

/* Mobile: stack login vertically */
@media(max-width:820px){
  .login-inner{
    flex-direction:column;gap:32px;
    align-items:center;
  }
  .landing-hero{
    max-width:100%;text-align:center;align-items:center;
  }
  .landing-title{font-size:36px}
  .login-box{flex:none;width:100%;max-width:400px}
}

/* ---- Sidebar User-Row ---- */
.sb-user-row{border-top:1px solid rgba(167,139,250,.12);padding-top:10px;margin-top:6px}
.sb-user-name{font-size:12px;color:var(--muted);padding:0 4px}

/* ---- Onboarding ---- */
.ob-logo-wrap{display:flex;flex-direction:column;gap:8px}
.ob-logo-drop{
  border:1px dashed rgba(167,139,250,.22);border-radius:var(--r-md);padding:24px;
  text-align:center;cursor:pointer;transition:border-color .12s, background .12s;
  background:rgba(167,139,250,.04);
}
.ob-logo-drop:hover{border-color:rgba(167,139,250,.45);background:rgba(167,139,250,.08)}

/* ---- Hilfe ---- */
.hilfe-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:20px}
.hilfe-nav-btn{
  background:transparent;border:none;color:var(--dim);font-size:13px;
  font-family:var(--fb);text-align:left;padding:8px 12px;border-radius:8px;
  cursor:pointer;transition:all .12s;font-weight:300;
}
.hilfe-nav-btn:hover{color:var(--white);background:rgba(167,139,250,.07)}
.hilfe-nav-btn.on{color:var(--primary-light);background:rgba(124,58,237,.15)}
.hilfe-content{
  background:linear-gradient(180deg,rgba(27,23,56,.88),rgba(17,17,38,.94));
  border:1px solid rgba(167,139,250,.16);border-radius:var(--r-md);padding:28px 32px;
  box-shadow:0 4px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.hc-body h3{font-family:var(--fd);font-size:24px;font-weight:500;color:var(--white);margin-bottom:16px}
.hc-body p.hc-p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:16px}
.hc-list{padding-left:18px;display:flex;flex-direction:column;gap:8px}
.hc-list li{font-size:13px;color:var(--muted);line-height:1.6}
.hc-list li b{color:var(--white)}
.hc-list li em{color:var(--primary-light);font-style:normal}
.hc-list li code{font-size:11px;background:rgba(167,139,250,.1);padding:1px 6px;border-radius:4px;color:var(--primary-light)}
.hc-list li kbd{font-size:11px;background:rgba(255,255,255,.07);border:1px solid rgba(167,139,250,.2);padding:1px 6px;border-radius:4px;color:var(--white)}
.hc-table-wrap{overflow-x:auto}
.hc-table{width:100%;border-collapse:collapse;font-size:13px;margin:4px 0}
.hc-table th{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);
  padding:8px 12px;border-bottom:1px solid rgba(167,139,250,.12);text-align:left;font-weight:400}
.hc-table td{padding:8px 12px;border-bottom:1px solid rgba(167,139,250,.07);color:var(--muted);vertical-align:middle}
.hc-table td code{font-size:11px;background:rgba(167,139,250,.1);padding:1px 6px;border-radius:4px;color:var(--primary-light)}
.hc-note{
  background:rgba(124,58,237,.1);border:1px solid rgba(167,139,250,.25);
  border-radius:10px;padding:12px 16px;font-size:12px;color:var(--primary-light);margin-top:20px;line-height:1.6;
}
/* FAQ */
.faq-item{border-bottom:1px solid rgba(167,139,250,.1)}
.faq-q{
  width:100%;background:none;border:none;text-align:left;padding:16px 4px;
  display:flex;justify-content:space-between;align-items:center;cursor:pointer;
  gap:16px;color:var(--white);font-size:14px;font-family:var(--fb);font-weight:400;line-height:1.5;
}
.faq-q:hover{color:var(--primary-light)}
.faq-chevron{color:var(--dim);font-size:12px;flex-shrink:0;transition:transform .2s}
.faq-a{padding:0 4px 16px;font-size:13px;color:var(--muted);line-height:1.7}
.faq-a a{color:var(--primary-light)}
.faq-a b{color:var(--white)}
.faq-a em{color:var(--gold2);font-style:normal}
.faq-a code{font-size:11px;background:rgba(167,139,250,.1);padding:1px 6px;border-radius:4px;color:var(--primary-light)}
.faq-a kbd{font-size:11px;background:rgba(255,255,255,.07);border:1px solid rgba(167,139,250,.2);padding:1px 6px;border-radius:4px}

/* ---- Outreach Leads-Liste ---- */
.or-leads-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.or-lead-row{
  display:flex;align-items:center;gap:12px;padding:12px 16px;
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.14);
  border-radius:var(--r-md);transition:background .12s, border-color .12s;
}
.or-lead-row:hover{background:rgba(167,139,250,.07);border-color:rgba(167,139,250,.3)}
.or-lead-main{flex:1;min-width:0}
.or-lead-firma{font-size:14px;color:var(--white);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.or-lead-ap{color:var(--dim);font-weight:300;font-size:13px}
.or-lead-email{font-size:12px;color:var(--dim);margin-top:2px}
.or-lead-meta{font-size:11px;color:var(--gold3);margin-top:2px;letter-spacing:.03em}
.or-lead-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.or-lead-status{font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.or-lead-actions{display:flex;gap:5px}
.or-cfg-box{
  background:rgba(255,255,255,.035);border:1px solid rgba(167,139,250,.16);
  border-radius:var(--r-md);padding:20px;margin-bottom:20px;
}
.btn-d{
  background:transparent;border:1px solid rgba(239,68,68,.3);color:var(--danger);
  font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  padding:7px 16px;border-radius:8px;transition:all .12s;
}
.btn-d:hover{background:rgba(239,68,68,.1);border-color:var(--danger)}

/* ─── FEEDBACK BUTTON & MODAL ──────────────────── */
#feedbackBtn{
  position:fixed;bottom:28px;right:24px;z-index:500;
  width:48px;height:48px;border-radius:50%;border:none;
  background:linear-gradient(135deg,var(--primary),var(--purple-glow));
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(124,58,237,.45),0 0 0 1px rgba(167,139,250,.2);
  transition:transform .2s,box-shadow .2s;
}
#feedbackBtn:hover{
  transform:translateY(-2px) scale(1.06);
  box-shadow:0 8px 32px rgba(124,58,237,.6),0 0 0 1px rgba(167,139,250,.35);
}
#feedbackModal{position:fixed;inset:0;z-index:600;display:flex;align-items:flex-end;justify-content:flex-end;padding:24px}
.fb-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.fb-modal{
  position:relative;z-index:1;
  width:100%;max-width:420px;
  background:linear-gradient(180deg,#1B1738,#111126);
  border:1px solid rgba(167,139,250,.28);border-radius:22px;
  box-shadow:0 32px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04) inset;
  padding:26px 26px 22px;
  animation:fbSlide .22s ease;
}
@keyframes fbSlide{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.fb-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.fb-title{font-size:16px;font-weight:700;color:var(--white)}
.fb-close{background:none;border:none;color:var(--dim);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px;transition:color .15s}
.fb-close:hover{color:var(--white)}
.fb-sub{font-size:12.5px;color:var(--dim);line-height:1.55;margin-bottom:16px}
.fb-err{font-size:12px;color:var(--danger);background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:8px 12px;margin-bottom:12px}
.fb-types{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.fb-type{
  font-size:12px;font-weight:500;padding:6px 13px;border-radius:999px;
  background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.18);
  color:var(--dim);cursor:pointer;transition:all .15s;
}
.fb-type:hover{color:var(--white);border-color:rgba(167,139,250,.4)}
.fb-type.on{
  background:rgba(124,58,237,.2);border-color:var(--primary);
  color:var(--primary-light);font-weight:600;
}
.fb-msg{
  width:100%;resize:vertical;min-height:100px;
  background:rgba(255,255,255,.04);border:1px solid rgba(167,139,250,.18);
  border-radius:12px;color:var(--white);font-family:var(--fi);font-size:13.5px;
  padding:12px 14px;line-height:1.6;
  transition:border-color .15s,box-shadow .15s;
}
.fb-msg::placeholder{color:var(--muted)}
.fb-msg:focus{outline:none;border-color:var(--primary-soft);box-shadow:0 0 0 3px rgba(139,92,246,.14)}
.fb-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
.fb-hint{font-size:11px;color:var(--muted)}
.fb-submit{font-size:13px;padding:9px 22px}
@media(max-width:600px){
  #feedbackModal{padding:16px;align-items:flex-end}
  .fb-modal{max-width:100%}
  #feedbackBtn{bottom:80px;right:16px}
}
