.atp-chat-widget{
  position:fixed;
  z-index:999999;
  inset:auto 22px calc(22px + env(safe-area-inset-bottom)) auto;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
}
.atp-chat-widget[data-position="bl"]{inset:auto auto calc(22px + env(safe-area-inset-bottom)) 22px}
.atp-chat-widget *{box-sizing:border-box}
.atp-chat-widget .screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.atp-chat-widget svg{display:block !important}
.atp-chat-widget svg path{fill:currentColor !important}

.atp-chat-widget__fab{position:relative;display:inline-block}

.atp-chat-widget__toggle{
  width:56px;height:56px;border-radius:999px;border:0;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#2563eb,#4f46e5);
  color:#fff; cursor:pointer;
  box-shadow:0 18px 50px rgba(2,6,23,.25);
  transform:translateZ(0);
}
.atp-chat-widget[data-mode="single"][data-primary="whatsapp"] .atp-chat-widget__toggle{background:#25D366}
.atp-chat-widget[data-mode="single"][data-primary="wechat"] .atp-chat-widget__toggle{background:#07C160}
.atp-chat-widget[data-mode="single"][data-primary="line"] .atp-chat-widget__toggle{background:#00B900}
.atp-chat-widget[data-mode="single"][data-primary="facebook"] .atp-chat-widget__toggle{background:#0084FF}
.atp-chat-widget__toggle:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}
.atp-chat-widget__toggle-icon svg{width:26px;height:26px;display:block}

.atp-chat-widget__hide,
.atp-chat-widget__restore{display:none !important}

.atp-chat-widget__panel{
  width:min(320px,calc(100vw - 44px));
  margin-bottom:12px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 24px 70px rgba(2,6,23,.28);
  overflow:hidden;
  opacity:0; transform:translateY(10px) scale(.98);
  transition:opacity .16s ease, transform .16s ease;
  pointer-events:none;
}
.atp-chat-widget.is-open .atp-chat-widget__panel{
  opacity:1; transform:translateY(0) scale(1);
  pointer-events:auto;
}

.atp-chat-widget__head{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:12px;
  padding:14px 14px 10px 14px;
}
.atp-chat-widget__title{font-weight:700;font-size:15px;line-height:1.2;color:#0f172a}
.atp-chat-widget__subtitle{margin-top:4px;font-size:12.5px;line-height:1.35;color:#475569}
.atp-chat-widget__close{
  width:34px;height:34px;border-radius:10px;border:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.65);
  color:#334155; cursor:pointer;
  display:grid; place-items:center;
}
.atp-chat-widget__close:hover{background:#fff}
.atp-chat-widget__close:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}
.atp-chat-widget__close span{font-size:20px;line-height:1;transform:translateY(-1px)}

.atp-chat-widget__list{padding:0 14px 14px 14px;display:grid;gap:10px}
.atp-chat-widget__item{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.7);
  color:#0f172a;
  text-decoration:none;
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease;
}
.atp-chat-widget__item:hover{transform:translateY(-1px);background:#fff;box-shadow:0 12px 30px rgba(2,6,23,.12)}
.atp-chat-widget__item:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}

.atp-chat-widget__icon{
  width:40px;height:40px;border-radius:999px;
  display:grid;place-items:center;
  color:#fff;
  flex:none;
}
.atp-chat-widget__icon svg{width:22px;height:22px;display:block}
.atp-chat-widget__label{font-weight:650;font-size:14px}

.atp-chat-widget__item--whatsapp .atp-chat-widget__icon{background:#25D366}
.atp-chat-widget__item--wechat .atp-chat-widget__icon{background:#07C160}
.atp-chat-widget__item--line .atp-chat-widget__icon{background:#00B900}
.atp-chat-widget__item--facebook .atp-chat-widget__icon{background:#0084FF}

.atp-chat-widget__credit{
  padding:10px 14px 14px 14px;
  font-size:11.5px;
  line-height:1.4;
  color:#64748b;
  border-top:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.55);
}

.atp-chat-widget__modal{position:fixed;inset:0;z-index:999999}
.atp-chat-widget__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.55)}
.atp-chat-widget__modal-card{
  position:absolute;
  inset:auto 22px calc(22px + env(safe-area-inset-bottom) + 70px) auto;
  width:min(340px,calc(100vw - 44px));
  border-radius:18px;
  background:#fff;
  box-shadow:0 24px 70px rgba(2,6,23,.35);
  border:1px solid rgba(15,23,42,.10);
  padding:14px;
}
.atp-chat-widget[data-position="bl"] .atp-chat-widget__modal-card{inset:auto auto calc(22px + env(safe-area-inset-bottom) + 70px) 22px}
.atp-chat-widget__modal-close{
  position:absolute;top:10px;right:10px;
  width:34px;height:34px;border-radius:10px;border:1px solid rgba(15,23,42,.10);
  background:#fff;color:#334155;cursor:pointer;display:grid;place-items:center;
}
.atp-chat-widget__modal-title{font-weight:800;color:#0f172a}
.atp-chat-widget__qr{width:100%;height:auto;border-radius:14px;margin-top:12px;border:1px solid rgba(15,23,42,.08)}
.atp-chat-widget__wechat-id{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#334155}
.atp-chat-widget__wechat-id code{padding:2px 8px;border-radius:10px;background:#f1f5f9}
.atp-chat-widget__copy{
  border:1px solid rgba(15,23,42,.12);
  background:#f8fafc;
  color:#0f172a;
  border-radius:10px;
  padding:6px 10px;
  cursor:pointer;
  font-size:12.5px;
}
.atp-chat-widget__copy:hover{background:#fff}
.atp-chat-widget__toast{
  margin-top:10px;
  font-size:12.5px;
  color:#0f172a;
  background:#ecfeff;
  border:1px solid rgba(6,182,212,.25);
  border-radius:12px;
  padding:8px 10px;
}

@media (prefers-reduced-motion: reduce){
  .atp-chat-widget__panel,.atp-chat-widget__item{transition:none}
}
