.ndcb-launcher{
  position:fixed; right:65px; bottom:42px; z-index:99998;
  display:flex; align-items:center; gap:8px;
  padding:13px 20px; border:none; border-radius:999px; cursor:pointer;
  background:linear-gradient(135deg,#0a7c42,#0fa958); color:#fff;
  font:600 16.5px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  box-shadow:0 6px 24px rgba(0,0,0,.25); transition:transform .15s ease;
}
.ndcb-launcher:hover{ transform:translateY(-3px) scale(1.03); }
.ndcb-launcher svg{ width:22px; height:22px; fill:#fff; }
.ndcb-badge{
  position:absolute; top:-4px; right:-4px; width:12px; height:12px;
  border-radius:50%; background:#ffd400; border:2px solid #fff;
}
.ndcb-panel{
  position:fixed; right:65px; bottom:114px; z-index:99999;
  width:370px; height:540px; max-height:calc(100vh - 130px);
  display:none; flex-direction:column; overflow:hidden;
  background:#f5f7f6; border-radius:16px;
  box-shadow:0 12px 48px rgba(0,0,0,.3);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.ndcb-panel.ndcb-open{ display:flex; }
.ndcb-header{
  display:flex; align-items:center; gap:10px; padding:14px 16px;
  background:linear-gradient(135deg,#0a7c42,#0fa958); color:#fff; flex:0 0 auto;
}
.ndcb-header .ndcb-ava{
  width:36px; height:36px; border-radius:50%; background:#fff; color:#0a7c42;
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:13px;
}
.ndcb-header h3{ margin:0; font-size:16px; font-weight:700; }
.ndcb-header p{ margin:0; font-size:12px; opacity:.85; }
.ndcb-new{ background:none; border:none; color:#fff; font-size:20px;
  cursor:pointer; padding:6px 10px; border-radius:8px;
}
.ndcb-new:hover{ background:rgba(255,255,255,.18); }
.ndcb-close{
  background:none; border:none; color:#ff5252; font-size:22px;
  line-height:1; cursor:pointer; padding:4px 8px; border-radius:8px;
}
.ndcb-close:hover{ background:rgba(255,255,255,.22); }
.ndcb-msgs{ flex:1 1 auto; overflow-y:auto; padding:16px 14px 8px; }
.ndcb-msg{ display:flex; margin-bottom:10px; }
.ndcb-msg .ndcb-bubble{
  max-width:84%; padding:11px 14px; border-radius:14px; white-space:pre-wrap;
  word-wrap:break-word; background:#fff; color:#1c2b23; font-size:15px;
  box-shadow:0 1px 3px rgba(0,0,0,.08); border-bottom-left-radius:4px;
}
.ndcb-msg.ndcb-user{ justify-content:flex-end; }
.ndcb-msg.ndcb-user .ndcb-bubble{
  background:#0a7c42; color:#fff; border-bottom-left-radius:14px; border-bottom-right-radius:4px;
}
.ndcb-msg.ndcb-err .ndcb-bubble{ background:#fdecea; color:#8a1f11; }
.ndcb-typing span{
  display:inline-block; width:7px; height:7px; margin:0 2px; border-radius:50%;
  background:#9ab3a6; animation:ndcbblink 1.2s infinite both;
}
.ndcb-typing span:nth-child(2){ animation-delay:.2s; }
.ndcb-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes ndcbblink{ 0%,80%,100%{opacity:.25} 40%{opacity:1} }
.ndcb-opts{ padding:4px 14px 10px; display:flex; flex-wrap:wrap; gap:6px; }
.ndcb-opts button{
  border:1px solid #0a7c42; background:#fff; color:#0a7c42; border-radius:999px;
  padding:6px 12px; font-size:12.5px; cursor:pointer;
}
.ndcb-opts button:hover{ background:#e7f5ed; }
.ndcb-opts button:disabled{ opacity:.5; cursor:default; }
.ndcb-input{
  flex:0 0 auto; display:flex; gap:8px; padding:10px 12px;
  background:#fff; border-top:1px solid #e3e8e5;
}
.ndcb-input input{
  flex:1; border:1px solid #cfd9d3; border-radius:999px; padding:10px 14px;
  font-size:14px; outline:none;
}
.ndcb-input input:focus{ border-color:#0a7c42; }
.ndcb-send{
  border:none; border-radius:50%; width:40px; height:40px; flex:0 0 auto;
  background:#0a7c42; color:#fff; font-size:17px; cursor:pointer;
}
.ndcb-send:disabled{ opacity:.5; cursor:default; }
@media (max-width:480px){
  .ndcb-panel{ right:0; left:0; bottom:0; width:100%; height:100%; height:100dvh; max-height:100dvh; border-radius:0; }
  .ndcb-launcher{ left:auto; right:14px; bottom:82px; padding:14px 20px; }
  .ndcb-msg .ndcb-bubble{ max-width:88%; font-size:15.5px; }
  .ndcb-input{ padding:10px 10px calc(12px + env(safe-area-inset-bottom)); }
  .ndcb-input input{ font-size:16px; padding:12px 16px; }
  .ndcb-send{ width:46px; height:46px; font-size:19px; }
  .ndcb-opts button{ padding:9px 15px; font-size:13.5px; }
  .ndcb-opts{ padding:6px 12px 12px; }
  .ndcb-msgs{ padding:14px 12px 8px; }
}
.ndcb-launcher{
  background:linear-gradient(135deg,#0a7c42,#14c96e 50%,#0a7c42);
  background-size:220% 220%;
  animation:ndcbGrad 3.5s ease infinite, ndcbPop 2.4s ease-out infinite, ndcbWiggle 5.5s ease-in-out 3s infinite;
  box-shadow:0 6px 26px rgba(10,124,66,.45), inset 0 0 0 2px rgba(255,95,75,.55), inset 0 0 16px rgba(255,95,75,.4);
}
.ndcb-launcher::before{
  content:""; position:absolute; inset:-5px; border-radius:999px;
  border:2px solid rgba(255,110,90,.7); pointer-events:none;
  animation:ndcbRing 2.4s ease-out infinite;
}
@keyframes ndcbGrad{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}
@keyframes ndcbRing{0%{transform:scale(.92);opacity:.9}70%,100%{transform:scale(1.28);opacity:0}}
@keyframes ndcbPop{0%,100%{box-shadow:0 6px 26px rgba(10,124,66,.45), inset 0 0 0 2px rgba(255,95,75,.55), inset 0 0 16px rgba(255,95,75,.4)}50%{box-shadow:0 6px 34px rgba(255,82,82,.55), inset 0 0 0 2px rgba(255,95,75,.85), inset 0 0 22px rgba(255,95,75,.6)}}
.ndcb-badge{ display:none; }
.ndcb-launcher.ndcb-unread .ndcb-badge{ display:block; }
.ndcb-tp{ display:flex; align-items:center; gap:8px; }
.ndcb-tp .lbl{ font-size:13px; color:#4b6357; }
.ndcb-down{
  position:absolute; left:50%; transform:translateX(-50%); bottom:84px; z-index:5;
  display:none; align-items:center; gap:6px;
  background:#0a7c42; color:#fff; border:none; border-radius:999px;
  padding:8px 14px; font:600 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  box-shadow:0 4px 14px rgba(0,0,0,.25); cursor:pointer;
}
.ndcb-down.ndcb-show{ display:flex; }
.ndcb-handle{ display:none; }
@media (max-width:480px){
  .ndcb-handle{
    display:flex; align-items:center; justify-content:center; gap:10px;
    height:38px; flex:0 0 auto; width:100%; border:none; cursor:pointer;
    background:#075e31; color:#fff; font-size:17px;
  }
  .ndcb-handle .grip{
    width:44px; height:5px; border-radius:999px; background:rgba(255,255,255,.55);
  }
  .ndcb-close{
    width:40px; height:40px; display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.16); font-size:24px;
  }
  .ndcb-new{ width:40px; height:40px; display:flex; align-items:center; justify-content:center; font-size:22px; }
}
@media (max-width:480px){ .ndcb-close{ background:#ff5252; color:#fff; } }
@keyframes ndcbWiggle{
  0%,86%,100%{ transform:rotate(0); }
  88%{ transform:rotate(-5deg) scale(1.05); }
  91%{ transform:rotate(5deg) scale(1.05); }
  94%{ transform:rotate(-3deg); }
  97%{ transform:rotate(2deg); }
}
.ndcb-launcher:hover{ filter:brightness(1.12); }

.ndcb-faqbtn{
  margin-left:auto; background:rgba(255,255,255,.18); border:none; color:#fff;
  font:800 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  letter-spacing:.5px; padding:8px 9px; border-radius:8px; cursor:pointer;
}
.ndcb-faqbtn:hover{ background:rgba(255,255,255,.3); }
.ndcb-faqview{
  position:absolute; inset:0; z-index:7; display:none; flex-direction:column;
  background:#f5f7f6;
}
.ndcb-faqopen .ndcb-faqview{ display:flex; }
.ndcb-faqbar{
  flex:0 0 auto; display:flex; gap:8px; align-items:center; padding:12px;
  background:linear-gradient(135deg,#0a7c42,#0fa958);
}
.ndcb-faqback{
  flex:0 0 auto; width:36px; height:36px; border:none; border-radius:50%;
  background:rgba(255,255,255,.18); color:#fff; font-size:18px; cursor:pointer;
}
.ndcb-faqsearch{
  flex:1; border:none; border-radius:999px; padding:10px 14px; font-size:14px; outline:none;
}
.ndcb-faqlist{ flex:1; overflow-y:auto; padding:12px 12px 20px; }
.ndcb-faqitem{
  background:#fff; border-radius:12px; margin-bottom:10px; overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.ndcb-faqitem-q{
  display:block; width:100%; text-align:left; background:none; border:none;
  padding:12px 14px; font:600 14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:#173026; cursor:pointer;
}
.ndcb-faqitem-q .caret{ color:#0a7c42; }
.ndcb-faqitem-a{
  padding:10px 14px 14px; font-size:14px; line-height:1.55; color:#33473d;
  border-top:1px solid #eef2ef;
}
.ndcb-faqitem-a a{ color:#0a7c42; word-break:break-word; }
.ndcb-faqitem-a ul{ padding-left:18px; margin:6px 0; }
.ndcb-faqitem-a p{ margin:6px 0; }
.ndcb-faqempty{ text-align:center; color:#7d9389; padding:30px 10px; }
@media (max-width:480px){
  .ndcb-faqback{ width:40px; height:40px; }
  .ndcb-faqsearch{ font-size:16px; }
  .ndcb-faqitem-q{ font-size:14.5px; }
}
@media (max-width:480px){
  .ndcb-launcher{
    box-shadow:0 6px 26px rgba(10,124,66,.45), inset 0 0 0 2.5px rgba(255,95,75,.65), inset 0 0 18px rgba(255,95,75,.5);
  }
}

body.ndcb-noscroll{ overflow:hidden; }
@media (max-width:480px){
  .ndcb-panel.ndcb-open{
    inset:0 !important; width:100% !important; height:100% !important;
    height:100dvh !important; max-height:100dvh !important;
    background:#f5f7f6 !important;
  }
  .ndcb-msgs{ background:#f5f7f6; }
}
