/* Live chat widget. Works with the site tokens (--bg-2/--text) and the dashboard tokens (--card/--text). */
.dchat-btn{position:fixed;z-index:65;bottom:calc(22px + env(safe-area-inset-bottom,0px));inset-inline-end:22px;width:60px;height:60px;border-radius:50%;border:0;cursor:pointer;
  background:#f0b90b;color:#181a20;display:grid;place-items:center;box-shadow:0 14px 34px -10px rgba(240,185,11,.7),0 4px 12px rgba(0,0,0,.2);transition:transform .2s}
.dchat-btn:hover{transform:scale(1.06)}
.dchat-btn svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dchat-btn.on{transform:rotate(-8deg) scale(.96)}
.dchat-badge{position:absolute;top:-2px;inset-inline-end:-2px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#d93636;color:#fff;
  font:700 12px/22px system-ui,sans-serif;font-style:normal;box-shadow:0 0 0 3px var(--card,var(--bg-2,#fff))}
.dchat{position:fixed;z-index:66;bottom:calc(96px + env(safe-area-inset-bottom,0px));inset-inline-end:22px;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100dvh - 140px));
  display:flex;flex-direction:column;background:var(--card,var(--bg-2,#fff));color:var(--text,#1e2029);border:1px solid var(--line,rgba(0,0,0,.08));border-radius:24px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.45);overflow:hidden;animation:dchatUp .25s ease}
@keyframes dchatUp{from{opacity:0;transform:translateY(16px)}}
.dchat-h{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#0f1320,#1c2130);color:#fff}
.dchat-av img{display:block;width:40px;height:40px;border-radius:12px}
.dchat-h div{flex:1;min-width:0;display:flex;flex-direction:column}
.dchat-h b{font-size:1rem}
.dchat-st{font-size:.78rem;color:#b9bdcc;display:flex;align-items:center;gap:6px}
.dchat-st::before{content:"";width:8px;height:8px;border-radius:50%;background:#9aa0b4;flex:none}
.dchat-st.on::before{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.2)}
.dchat-x{background:none;border:0;color:#fff;opacity:.75;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center}
.dchat-x:hover{opacity:1;background:rgba(255,255,255,.08)}
.dchat-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.dchat-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.dchat-m{max-width:82%;padding:10px 14px;border-radius:18px;line-height:1.7;font-size:.93rem;word-wrap:break-word;white-space:pre-wrap}
.dchat-m p{margin:0}
.dchat-m small{display:block;margin-top:4px;font-size:.7rem;opacity:.65}
.dchat-m.them{align-self:flex-start;background:var(--soft,rgba(127,130,150,.12));border-start-start-radius:6px}
.dchat-m.me{align-self:flex-end;background:#f0b90b;color:#181a20;border-start-end-radius:6px}
.dchat-sys{align-self:center;font-size:.78rem;color:var(--muted,#7d808c);text-align:center;margin:4px 0}
.dchat-safe{margin:0;padding:8px 16px;font-size:.74rem;color:var(--muted,#7d808c);border-top:1px solid var(--line,rgba(0,0,0,.08))}
.dchat-guest{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 12px 0}
.dchat-guest input,.dchat-f textarea{width:100%;border:1px solid var(--line,rgba(0,0,0,.1));background:var(--soft,rgba(127,130,150,.08));color:inherit;border-radius:14px;
  padding:10px 12px;font:inherit;font-size:.88rem;outline:0}
.dchat-guest input:focus,.dchat-f textarea:focus{border-color:#f0b90b}
.dchat-err{margin:6px 12px 0;color:#d93636;font-size:.8rem}
.dchat-f{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px}
.dchat-f textarea{resize:none;min-height:44px;max-height:120px;line-height:1.5}
.dchat-send{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:#f0b90b;color:#181a20;cursor:pointer;display:grid;place-items:center}
.dchat-send:disabled{opacity:.5}
.dchat-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
[dir=rtl] .dchat-send svg{transform:scaleX(-1)}
@media (max-width:640px){
  /* above the phone tab bars (public site and dashboard) */
  .dchat-btn{bottom:calc(84px + env(safe-area-inset-bottom,0px));inset-inline-end:14px;width:54px;height:54px}
  .dchat{inset:0;width:auto;height:auto;border-radius:0;bottom:0;border:0}
  .dchat-guest{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.dchat{animation:none}.dchat-btn{transition:none}}
