.nfcb-wrap{--nfcb-accent:#d71920;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;z-index:99999}
.nfcb-floating{position:fixed;bottom:22px}.nfcb-floating.nfcb-right{right:22px}.nfcb-floating.nfcb-left{left:22px}
.nfcb-launch{width:58px;height:58px;border:0;border-radius:50%;background:var(--nfcb-accent);color:#fff;font-size:25px;box-shadow:0 8px 30px rgba(0,0,0,.22);cursor:pointer}
.nfcb-panel{width:min(380px,calc(100vw - 28px));height:520px;max-height:72vh;background:#fff;border-radius:18px;box-shadow:0 16px 50px rgba(0,0,0,.24);overflow:hidden;display:flex;flex-direction:column;border:1px solid #ececec}
.nfcb-floating .nfcb-panel{position:absolute;bottom:72px;display:none}.nfcb-right .nfcb-panel{right:0}.nfcb-left .nfcb-panel{left:0}.nfcb-floating.open .nfcb-panel{display:flex}
.nfcb-inline .nfcb-panel{position:relative;width:100%;max-width:760px;height:580px;max-height:none}
.nfcb-head{background:var(--nfcb-accent);color:#fff;padding:15px 17px;display:flex;justify-content:space-between;align-items:center}.nfcb-head strong{display:block;font-size:17px}.nfcb-head span{font-size:12px;opacity:.9}.nfcb-close{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}
.nfcb-messages{flex:1;padding:16px;overflow-y:auto;background:#fafafa}.nfcb-msg{max-width:86%;padding:10px 12px;border-radius:14px;margin:0 0 10px;line-height:1.4;font-size:14px}.nfcb-bot{background:#fff;border:1px solid #e8e8e8}.nfcb-user{background:var(--nfcb-accent);color:#fff;margin-left:auto}.nfcb-sources{display:block;margin-top:8px;font-size:11px;opacity:.7;line-height:1.3}
.nfcb-suggestions{padding:7px 12px;display:flex;gap:6px;overflow-x:auto;border-top:1px solid #eee}.nfcb-suggestions button{white-space:nowrap;border:1px solid #ddd;background:#fff;border-radius:999px;padding:7px 9px;font-size:11px;cursor:pointer}.nfcb-form{display:flex;gap:8px;padding:11px;border-top:1px solid #eee}.nfcb-form input{flex:1;border:1px solid #d9d9d9;border-radius:10px;padding:10px 11px;font-size:14px}.nfcb-form button{border:0;border-radius:10px;background:var(--nfcb-accent);color:#fff;padding:0 15px;font-weight:600;cursor:pointer}.nfcb-foot{text-align:center;font-size:10px;color:#777;padding:0 8px 9px}.nfcb-wait{opacity:.7;font-style:italic}
@media(max-width:520px){.nfcb-floating{bottom:14px}.nfcb-floating.nfcb-right{right:14px}.nfcb-floating.nfcb-left{left:14px}.nfcb-panel{height:70vh}}

.nfcb-audio-actions{margin-top:8px;display:flex;gap:6px}.nfcb-speak{border:1px solid #d9d9d9;background:#fff;color:#333;border-radius:999px;padding:5px 9px;font-size:11px;cursor:pointer}.nfcb-speak:hover{border-color:var(--nfcb-accent);color:var(--nfcb-accent)}.nfcb-speak.is-speaking{background:#f5f5f5;font-weight:600}

/* Elfie mascot design */
.nfcb-launch{padding:0;overflow:hidden;border:3px solid #fff;display:grid;place-items:center;background:#fff}
.nfcb-launch img{width:100%;height:100%;object-fit:cover;display:block}
.nfcb-head-id{display:flex;align-items:center;gap:10px;min-width:0}.nfcb-head-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.15);flex:0 0 auto}
.nfcb-head-id>div{min-width:0}.nfcb-head-id strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nfcb-head-id span{display:block}
.nfcb-bot{position:relative;margin-left:38px}.nfcb-bot:before{content:"";position:absolute;width:30px;height:30px;left:-39px;top:3px;border-radius:50%;background:url("elfie-avatar.jpg") center/cover no-repeat;border:2px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.13)}
.nfcb-elfie-intro{display:flex;gap:10px;align-items:flex-start}.nfcb-elfie-intro>img{width:58px;height:58px;object-fit:cover;border-radius:16px;flex:0 0 auto}.nfcb-elfie-intro strong{display:block;color:#165b2d;margin:1px 0 4px}.nfcb-elfie-intro p{margin:0}
.nfcb-user{margin-left:auto}.nfcb-user:before{display:none}
@media(max-width:520px){.nfcb-head-avatar{width:38px;height:38px}.nfcb-head-id span{font-size:10px}.nfcb-elfie-intro>img{width:50px;height:50px}}

/* v4.4: historical media from uploaded PDFs */
.nfcb-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 4px}.nfcb-media-item{display:block;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.1);border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.06)}.nfcb-media-item img{display:block;width:100%;height:135px;object-fit:cover;background:#f3f3f3}.nfcb-media-item span{display:block;padding:8px 10px;font-size:11px;line-height:1.35;color:#4b4b4b;max-height:4.3em;overflow:hidden}.nfcb-media-item:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(0,0,0,.09)}@media(max-width:520px){.nfcb-media{grid-template-columns:1fr}.nfcb-media-item img{height:170px}}

/* v5.0 feedback */
.nfcb-feedback{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:#667}
.nfcb-feedback button{border:1px solid #d8dcda;background:#fff;border-radius:999px;padding:4px 9px;cursor:pointer}
.nfcb-feedback button:hover{background:#f3f8f4}
.nfcb-feedback select,.nfcb-feedback input{font:inherit;border:1px solid #d8dcda;border-radius:8px;padding:6px 8px;background:#fff}
.nfcb-feedback input{min-width:180px;flex:1}


/* v5.0.2: resize / expanded chat window */
.nfcb-head-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.nfcb-expand,.nfcb-close{width:38px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;line-height:1;transition:background .18s ease,transform .18s ease}
.nfcb-expand{font-size:22px;font-weight:600}
.nfcb-close{font-size:28px}
.nfcb-expand:hover,.nfcb-close:hover{background:rgba(255,255,255,.23);transform:translateY(-1px)}
.nfcb-expand:focus-visible,.nfcb-close:focus-visible{outline:3px solid rgba(255,255,255,.6);outline-offset:2px}
html.nfcb-chat-expanded{overflow:hidden}
.nfcb-wrap.nfcb-expanded{position:fixed!important;inset:0!important;z-index:2147483000!important;pointer-events:none}
.nfcb-wrap.nfcb-expanded:before{content:"";position:fixed;inset:0;background:rgba(14,27,20,.56);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto}
.nfcb-wrap.nfcb-expanded .nfcb-launch{display:none}
.nfcb-wrap.nfcb-expanded .nfcb-panel{
  display:flex!important;
  position:fixed!important;
  inset:3vh 3vw!important;
  width:94vw!important;
  max-width:none!important;
  height:94vh!important;
  max-height:none!important;
  border-radius:22px!important;
  z-index:2;
  pointer-events:auto;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}
.nfcb-wrap.nfcb-expanded .nfcb-head{padding:16px 20px}
.nfcb-wrap.nfcb-expanded .nfcb-head-avatar{width:48px;height:48px}
.nfcb-wrap.nfcb-expanded .nfcb-head strong{font-size:19px}
.nfcb-wrap.nfcb-expanded .nfcb-messages{padding:22px clamp(18px,4vw,56px)}
.nfcb-wrap.nfcb-expanded .nfcb-msg{max-width:min(780px,82%);font-size:15px;line-height:1.55}
.nfcb-wrap.nfcb-expanded .nfcb-suggestions{padding:10px clamp(18px,4vw,56px)}
.nfcb-wrap.nfcb-expanded .nfcb-form{padding:14px clamp(18px,4vw,56px)}
.nfcb-wrap.nfcb-expanded .nfcb-form input{font-size:16px;padding:13px 15px}
.nfcb-wrap.nfcb-expanded .nfcb-form button{padding:0 22px}
.nfcb-wrap.nfcb-expanded .nfcb-media{grid-template-columns:repeat(3,minmax(0,1fr))}
.nfcb-wrap.nfcb-expanded .nfcb-media-item img{height:190px}
@media(max-width:700px){
  .nfcb-wrap.nfcb-expanded .nfcb-panel{inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important}
  .nfcb-wrap.nfcb-expanded .nfcb-head{padding:12px 14px}
  .nfcb-wrap.nfcb-expanded .nfcb-messages{padding:14px}
  .nfcb-wrap.nfcb-expanded .nfcb-msg{max-width:90%;font-size:14px}
  .nfcb-wrap.nfcb-expanded .nfcb-suggestions{padding:7px 10px}
  .nfcb-wrap.nfcb-expanded .nfcb-form{padding:10px}
  .nfcb-wrap.nfcb-expanded .nfcb-media{grid-template-columns:1fr}
  .nfcb-head-actions{gap:2px}
  .nfcb-expand,.nfcb-close{width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.nfcb-expand,.nfcb-close{transition:none}}

/* v5.0.6 safe Markdown emphasis */
.nfcb-text strong{font-weight:750;color:inherit}
.nfcb-bot .nfcb-text strong{color:#173f27}
.nfcb-text p{margin:0 0 .7em}.nfcb-text p:last-child{margin-bottom:0}


/* v5.2.1 – direkte Bildanzeige, Lightbox im Bot, keine Download-/Neuer-Tab-Oberfläche */
.nfcb-media-item{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  padding:0;
  margin:0;
  border:1px solid rgba(0,0,0,.1);
  text-align:left;
  font:inherit;
  cursor:zoom-in;
}
.nfcb-media-item img,
.nfcb-lightbox img{
  -webkit-user-drag:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
html.nfcb-lightbox-open{overflow:hidden}
.nfcb-lightbox{
  position:fixed;
  inset:0;
  z-index:2147483646;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(10,18,14,.88);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.nfcb-lightbox-stage{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:min(1200px,94vw);
  max-height:94vh;
  background:#111;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 30px 100px rgba(0,0,0,.55);
  user-select:none;
  -webkit-user-select:none;
}
.nfcb-lightbox-stage img{
  display:block;
  width:auto;
  max-width:94vw;
  height:auto;
  max-height:82vh;
  object-fit:contain;
  background:#111;
}
.nfcb-lightbox-caption{
  width:100%;
  box-sizing:border-box;
  padding:11px 15px 13px;
  background:#fff;
  color:#333;
  font-size:13px;
  line-height:1.4;
  text-align:center;
}
.nfcb-lightbox-close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 3px 12px rgba(0,0,0,.3);
}
.nfcb-lightbox-close:hover{background:rgba(0,0,0,.9)}
.nfcb-lightbox-close:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media(max-width:600px){
  .nfcb-lightbox{padding:8px}
  .nfcb-lightbox-stage{max-width:100%;max-height:98dvh;border-radius:12px}
  .nfcb-lightbox-stage img{max-width:100vw;max-height:86dvh}
  .nfcb-lightbox-caption{font-size:12px}
}


/* v5.2.2 – Best-Effort Sichtschutz bei Fokusverlust / Screenshot-Tasten / Druck */
html.nfcb-capture-shield .nfcb-media-item,
html.nfcb-capture-shield .nfcb-lightbox-stage{
  background:#000!important;
}
html.nfcb-capture-shield .nfcb-media-item img,
html.nfcb-capture-shield .nfcb-lightbox-stage img{
  visibility:hidden!important;
  opacity:0!important;
}
html.nfcb-capture-shield .nfcb-lightbox-caption{
  visibility:hidden!important;
}
@media print{
  .nfcb-media-item,
  .nfcb-lightbox-stage{
    background:#000!important;
  }
  .nfcb-media-item img,
  .nfcb-lightbox-stage img,
  .nfcb-lightbox-caption{
    visibility:hidden!important;
    opacity:0!important;
  }
}


/* v5.2.3 – Reveal-Modus: Großansicht standardmäßig schwarz */
.nfcb-lightbox-stage .nfcb-protected-image{
  visibility:hidden;
  opacity:0;
  transition:opacity .08s linear;
}
.nfcb-lightbox-stage.nfcb-revealed .nfcb-protected-image{
  visibility:visible;
  opacity:1;
}
.nfcb-reveal{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:3;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  background:rgba(0,0,0,.78);
  color:#fff;
  padding:10px 16px;
  font:inherit;
  font-size:13px;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  touch-action:none;
}
.nfcb-lightbox-stage.nfcb-revealed .nfcb-reveal{opacity:.82}
html.nfcb-capture-shield .nfcb-lightbox-stage{background:#000!important}
html.nfcb-capture-shield .nfcb-lightbox-stage .nfcb-protected-image{
  visibility:hidden!important;
  opacity:0!important;
}

/* zusätzliche Schutzsignale */
.nfcb-protected-image{
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
@media print{
  .nfcb-protected-image{visibility:hidden!important;opacity:0!important}
}


/* v5.2.4 – Reveal-Fix: Großansicht bleibt ohne aktives Gedrückthalten schwarz */
.nfcb-lightbox-stage{
  background:#000!important;
}
.nfcb-lightbox-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:#000;
  z-index:1;
  pointer-events:none;
}
.nfcb-lightbox-stage.nfcb-revealed::after{
  display:none;
}
.nfcb-lightbox-stage .nfcb-protected-image{
  visibility:hidden!important;
  opacity:0!important;
}
.nfcb-lightbox-stage.nfcb-revealed .nfcb-protected-image{
  visibility:visible!important;
  opacity:1!important;
}
.nfcb-lightbox-close,
.nfcb-reveal,
.nfcb-lightbox-caption{
  z-index:4;
}
html.nfcb-capture-shield .nfcb-lightbox-stage::after{
  display:block!important;
  background:#000!important;
  z-index:999!important;
}
html.nfcb-capture-shield .nfcb-media-item{
  position:relative;
}
html.nfcb-capture-shield .nfcb-media-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:#000!important;
  z-index:999!important;
}


/* v5.2.5 – geschützte serverseitige Bildvorschau */
.nfcb-media-item::before{
  content:"Geschützte Chronikansicht";
  display:block;
  padding:5px 8px;
  background:#f3f5f4;
  color:#68706b;
  font-size:10px;
  letter-spacing:.02em;
}
.nfcb-lightbox-stage::before{
  content:"Geschützte Ansicht · Wasserzeichen ist Bestandteil des Bildes";
  position:absolute;
  left:12px;
  top:12px;
  z-index:5;
  max-width:calc(100% - 72px);
  padding:6px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#fff;
  font-size:11px;
  pointer-events:none;
}
