:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--primary:#5b5bd6;--accent:#7c5cff;--bg:#0f1320;--panel:#171c2b;--text:#f7f8ff;--muted:#96a2bb;--line:#2a3145}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:transparent}button,input,textarea{font:inherit}.chat{width:100%;height:100%;display:grid;grid-template-rows:68px 1fr auto;background:var(--bg);color:var(--text);overflow:hidden}.chat.light{--bg:#f7f8fc;--panel:#fff;--text:#172033;--muted:#66738a;--line:#dbe1eb}.chat.loading{display:grid;place-items:center}.loader{color:#8d99b3;font-size:13px}.header{padding:12px 14px;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;gap:10px;color:#fff}.logo{width:42px;height:42px;border-radius:50%;background:#ffffff2a;display:grid;place-items:center;font-weight:900;overflow:hidden;flex:none}.logo img{width:100%;height:100%;object-fit:cover}.head-info{min-width:0}.head-info h1{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head-info p{font-size:10px;margin:3px 0 0;opacity:.86}.head-actions{margin-left:auto;display:flex;gap:6px}.head-btn{width:34px;height:34px;border:0;border-radius:10px;background:#ffffff1f;color:#fff;cursor:pointer}.body{min-height:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px;scroll-behavior:smooth}.welcome{padding:11px 13px;border:1px solid var(--line);border-radius:13px 13px 13px 4px;background:var(--panel);font-size:13px;line-height:1.5;max-width:88%}.message{max-width:85%;padding:10px 12px;border:1px solid var(--line);border-radius:13px;font-size:13px;line-height:1.45;word-break:break-word}.message.staff{align-self:flex-start;border-bottom-left-radius:4px;background:var(--panel)}.message.visitor{align-self:flex-end;border:0;border-bottom-right-radius:4px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.message.system{align-self:center;border:0;background:transparent;color:var(--muted);font-size:10px;padding:3px}.sender{font-size:9px;font-weight:800;color:var(--muted);margin-bottom:3px}.message.visitor .sender{color:#ffffffc7}.message time{display:block;text-align:right;font-size:8px;opacity:.55;margin-top:4px}.message img{max-width:100%;max-height:260px;border-radius:8px;display:block}.attachment{color:inherit;text-decoration:none}.typing{height:16px;padding:0 15px;color:var(--muted);font-size:10px}.prechat{margin:auto;width:100%;display:grid;gap:11px}.prechat h2{font-size:18px;margin:0}.prechat p{color:var(--muted);font-size:12px;margin:0 0 5px}.field{display:grid;gap:6px}.field span{font-size:10px;color:var(--muted);font-weight:700}.input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:10px 12px;outline:none}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.footer{border-top:1px solid var(--line);background:var(--panel)}.menu{padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-bottom:1px solid var(--line)}.menu.hidden{display:none}.menu button{border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--text);padding:9px 6px;font-size:10px;font-weight:800;cursor:pointer}.menu button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 13%,transparent)}.composer{padding:9px;display:flex;gap:6px;align-items:flex-end;position:relative}.composer textarea{min-height:40px;max-height:100px;resize:none}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;flex:none}.send{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent))}.emoji{position:absolute;left:8px;bottom:56px;width:min(320px,calc(100vw - 16px));max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:8px;box-shadow:0 20px 50px #0006}.emoji.hidden{display:none}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr)}.emoji button{border:0;background:transparent;font-size:21px;padding:5px;cursor:pointer}.status{padding:8px 12px;text-align:center;color:var(--muted);font-size:9px}.error-card{margin:auto;padding:18px;border:1px solid #7f1d1d;border-radius:12px;background:#2a1418;color:#fecdd3;font-size:12px;line-height:1.5}.rating{padding:12px;text-align:center}.stars button{border:0;background:transparent;font-size:26px;cursor:pointer;filter:grayscale(1)}.stars button:hover,.stars button.active{filter:none}@media(max-width:420px){.menu{grid-template-columns:1fr 1fr}.body{padding:12px}.message{max-width:90%}}

/* Optional member identity screen */
.identity-wrap{min-height:100%;display:grid;place-items:center;padding:18px 8px}.identity-card{max-width:430px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.25)}.identity-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin-bottom:4px;background:linear-gradient(135deg,var(--primary),var(--accent));font-size:25px;color:#fff;overflow:hidden}.identity-icon img{width:100%;height:100%;object-fit:cover}.identity-card h2{font-size:20px;line-height:1.25}.identity-card p{line-height:1.55}.identity-card .field span{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text)}.identity-card .field em{font-style:normal;font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.identity-input{height:46px;font-size:14px}.identity-help{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:-3px}.identity-submit{width:100%;height:46px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:850;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 24%,transparent)}.identity-submit:hover{filter:brightness(1.07)}.identity-submit:disabled{opacity:.65;cursor:wait}.identity-footer{border-top:0;background:var(--bg)}
.identity-select{height:46px;appearance:auto;cursor:pointer}.closed-actions{padding:14px;display:grid;gap:12px;background:var(--panel);border-top:1px solid var(--line)}.closed-copy{display:grid;gap:3px;text-align:center}.closed-copy b{font-size:12px}.closed-copy span{font-size:10px;color:var(--muted)}.closed-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.closed-btn{min-height:42px;border-radius:10px;font-weight:800;cursor:pointer}.closed-btn.secondary{border:1px solid var(--line);background:transparent;color:var(--text)}.closed-btn.primary{border:0;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.closed-btn:hover{filter:brightness(1.06)}@media(max-width:520px){.closed-buttons{grid-template-columns:1fr}}
.identity-info{padding:10px 12px;border:1px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--primary) 7%,var(--panel));font-size:12px;line-height:1.5;white-space:pre-line}.identity-multiple{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;display:grid;gap:7px}.identity-multiple legend{padding:0 5px;font-size:10px;font-weight:800}.identity-multiple label{display:flex;gap:8px;align-items:center;font-size:12px}.rating textarea{margin-top:10px;min-height:72px;resize:vertical}.rating-submit{margin-top:8px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:10px 14px;font-weight:800;cursor:pointer}.campaign-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:end center;padding:16px;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.32));pointer-events:none}.campaign-card{position:relative;width:min(360px,100%);padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);box-shadow:0 20px 70px rgba(0,0,0,.32);pointer-events:auto}.campaign-card>img{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:10px;margin-bottom:12px}.campaign-card>p{margin:0 26px 12px 0;font-size:13px;line-height:1.5;white-space:pre-line}.campaign-card>div{display:grid;gap:7px}.campaign-card>div button{border:0;border-radius:9px;padding:10px 12px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:800;cursor:pointer}.campaign-card>div button.secondary{background:transparent;border:1px solid var(--line);color:var(--text)}.campaign-close{position:absolute;right:10px;top:10px;width:28px;height:28px;border:0;border-radius:8px;background:color-mix(in srgb,var(--panel) 80%,#000);color:var(--text);cursor:pointer}.chat.modern .header{min-height:78px}.chat.modern .body{padding:18px}.chat.modern .message{border-radius:18px}.chat.modern .footer{padding-bottom:4px}@media(max-width:520px){.identity-card{padding:19px}.campaign-overlay{padding:10px}.campaign-card{border-radius:14px}}


/* Quick official links above the pre-chat form */
.identity-wrap.has-promo{grid-template-rows:auto minmax(0,1fr);place-items:stretch center;align-content:start;gap:12px;padding:0 0 18px}.identity-wrap.has-promo .identity-card{align-self:center;margin-left:8px;margin-right:8px}.promo-links-panel{width:100%;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 42%,var(--line));border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 12%,var(--panel)),var(--panel));box-shadow:0 12px 34px rgba(0,0,0,.16)}.promo-links-title{margin-bottom:9px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-align:center}.promo-links-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.promo-link{min-height:38px;padding:9px 8px;border:1px solid color-mix(in srgb,var(--primary) 48%,var(--line));border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 10%,var(--panel));color:var(--text);font-size:10px;font-weight:900;line-height:1.25;text-align:center;text-decoration:none;transition:transform .15s ease,filter .15s ease,border-color .15s ease}.promo-link:hover{transform:translateY(-1px);filter:brightness(1.08);border-color:var(--primary)}.promo-link.wide{grid-column:1/-1}.chat.light .promo-links-panel{box-shadow:0 12px 28px rgba(20,34,60,.10)}@media(max-width:420px){.promo-links-panel{border-radius:0 0 14px 14px;padding:10px}.promo-links-grid{gap:7px}.promo-link{min-height:36px;font-size:9px}.identity-wrap.has-promo .identity-card{margin-left:12px;margin-right:12px}}


/* POP108 — high-visibility close button */
.header .close-btn{
  width:38px;
  height:38px;
  border:2px solid rgba(255,255,255,.96);
  border-radius:11px;
  background:#fff;
  color:var(--primary);
  font-size:25px;
  font-weight:900;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 5px 16px rgba(0,0,0,.24);
  opacity:1;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.header .close-btn:hover{
  transform:scale(1.07);
  box-shadow:0 7px 20px rgba(0,0,0,.3);
  filter:brightness(.98);
}
.header .close-btn:active{
  transform:scale(.96);
}
.header .close-btn:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}


/* POP108 — restore compact quick-link image sizing on mobile */
.promo-links-grid{
  min-width:0;
}
.promo-link{
  min-width:0;
  overflow:hidden;
}
.promo-link.has-image{
  min-height:78px;
  padding:8px 7px;
  gap:5px;
  grid-template-rows:auto auto;
  align-content:center;
}
.promo-link-media{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:9px;
  flex:none;
}
.promo-link-media img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.promo-link-label{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
}
@media(max-width:420px){
  .promo-link.has-image{
    min-height:70px;
    padding:7px 5px;
  }
  .promo-link-media{
    width:36px;
    height:36px;
  }
}


/* POP108 — instant member opening, no logo, per-member bubble palette */
.chat.booting{
  display:block;
  background:var(--bg);
}
.chat.booting::before,
.chat.booting::after{
  content:none;
}
.loader{
  display:none!important;
}
.header .head-info.no-logo{
  padding-left:2px;
}
.message.visitor{
  background:linear-gradient(135deg,var(--member-bubble-a,#6d28d9),var(--member-bubble-b,#9333ea));
  color:#fff;
  box-shadow:0 8px 22px color-mix(in srgb,var(--member-bubble-a,#6d28d9) 22%,transparent);
}
.message.visitor .sender{
  color:rgba(255,255,255,.82);
}
