/* Zeni Virtual Phase 5: approved mockup 09, native system chat.
   Loaded after the native chat stylesheet. Existing behaviour and controls stay intact. */
.zeni-system-chat {
  --zc-lilac:#6B4FA0; --zc-green:#2D6E3A; --zc-dark:#26282B;
  --zc-surface:#fff; --zc-muted:#5C6066;
  font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
.zeni-system-chat .zeni-chat-panel {
  right:max(1rem, env(safe-area-inset-right));
  bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 5rem);
  width:min(25.5rem,calc(100vw - 2rem));
  height:min(42rem,calc(100dvh - 7.5rem));
  max-height:none;
  border:1px solid #E4E4E0;
  border-radius:26px;
  box-shadow:0 22px 65px rgba(38,40,43,.18);
}
.zeni-system-chat .zeni-chat-header {
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  column-gap:.4rem;row-gap:.75rem;
  padding:1.05rem 1.2rem 1.15rem;
  background:#6B4FA0;color:#fff;
}
.zeni-system-chat .zeni-chat-brand {gap:.7rem;min-width:0}
.zeni-system-chat .zeni-chat-brand__mark {
  background:#fff;border-radius:12px;width:2.65rem;height:2.65rem;
  overflow:hidden;padding:0;
}
.zeni-system-chat .zeni-chat-brand__mark img {display:block;width:100%;height:100%;object-fit:contain}
.zeni-system-chat .zeni-chat-brand strong {font-size:1.08rem;font-weight:700;line-height:1.3}
.zeni-system-chat .zeni-chat-brand small {font-size:.73rem;color:#eee6fb;white-space:normal;line-height:1.3}
.zeni-system-chat.is-team-online .zeni-chat-brand small::before {
  content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.4rem;
  background:#79dda0;
}
.zeni-system-chat .zeni-chat-header__actions {gap:.18rem}
.zeni-system-chat .zeni-chat-icon-btn {border-radius:12px;min-width:2rem;min-height:2.1rem}
.zeni-system-chat .zeni-chat-icon-btn:hover,
.zeni-system-chat .zeni-chat-icon-btn:focus-visible {background:rgba(255,255,255,.22);outline:2px solid rgba(255,255,255,.6);outline-offset:1px}
.zeni-system-chat .zeni-chat-call-cta {
  grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.65rem;
  width:100%;min-height:3.1rem;padding:.55rem 1rem;border:0;border-radius:999px;
  background:#fff;color:#2D6E3A;font:700 1rem/1.2 'DM Sans',system-ui,sans-serif;
  cursor:pointer;transition:background .15s ease;
}
.zeni-system-chat .zeni-chat-call-cta:hover {background:#E2F0E7}
.zeni-system-chat .zeni-chat-call-cta:focus-visible {outline:3px solid #C8B8E8;outline-offset:3px}
.zeni-system-chat .zeni-chat-call-cta:disabled {opacity:.55;cursor:not-allowed}
.zeni-system-chat .zeni-chat-call-cta i {font-size:1.15rem}
.zeni-system-chat .zeni-chat-call-explainer {
  grid-column:1/-1;text-align:center;margin:-.1rem 0 .05rem;
  color:#f2ebf9;font-size:.75rem;line-height:1.45;
}
.zeni-system-chat .zeni-chat-welcome,
.zeni-system-chat .zeni-chat-conversation {background:#fff}
.zeni-system-chat .zeni-chat-welcome {
  padding:1.05rem 1.1rem 1.4rem;overscroll-behavior:contain;
}
.zeni-system-chat .zeni-chat-welcome__label {
  color:#5C6066;font:500 .73rem/1.4 'DM Sans',system-ui,sans-serif;
  text-align:center;margin:0 0 .8rem;letter-spacing:.01em;
}
.zeni-system-chat .zeni-chat-intro-bubble {
  width:fit-content;max-width:100%;padding:.85rem 1rem;border-radius:20px 20px 20px 6px;
  margin:0 0 .85rem;background:#F1EBFA;color:#26282B;font-size:.89rem;line-height:1.5;
}
.zeni-system-chat .zeni-chat-quick-topics {display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 1.25rem}
.zeni-system-chat .zeni-chat-quick-topics :is(button,a) {
  display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;
  max-width:100%;padding:.5rem .85rem;border:1px solid #C8B8E8;border-radius:999px;
  background:#fff;color:#6B4FA0;font:500 .78rem/1.3 'DM Sans',system-ui,sans-serif;
  text-decoration:none;cursor:pointer;text-align:center;
}
.zeni-system-chat .zeni-chat-quick-topics :is(button,a):hover,
.zeni-system-chat .zeni-chat-quick-topics [aria-pressed="true"] {background:#F1EBFA;border-color:#6B4FA0}
.zeni-system-chat .zeni-chat-quick-topics :is(button,a):focus-visible {outline:3px solid #C8B8E8;outline-offset:2px}
.zeni-system-chat .zeni-chat-prechat {padding-top:1.1rem;border-top:1px solid #E4E4E0}
.zeni-system-chat .zeni-chat-field label {color:#26282B;font-weight:600}
.zeni-system-chat .zeni-chat-field :is(input,textarea),
.zeni-system-chat .zeni-chat-rating textarea {border-color:#E4E4E0;border-radius:13px;font-size:16px;color:#26282B}
.zeni-system-chat .zeni-chat-primary {background:#6B4FA0;box-shadow:none;border-radius:999px;font-weight:600}
.zeni-system-chat .zeni-chat-primary:hover {background:#513A83}
.zeni-system-chat .zeni-chat-context {background:#fff;border-color:#E4E4E0;color:#5C6066}
.zeni-system-chat .zeni-chat-messages {padding:1rem .95rem .65rem;background:#fff}
.zeni-system-chat .zeni-chat-bubble {color:#26282B;background:#F1EBFA;border:0;box-shadow:none;border-radius:18px 18px 18px 5px;line-height:1.5}
.zeni-system-chat .zeni-chat-message.is-outgoing .zeni-chat-bubble {color:#fff;background:#6B4FA0;border-radius:18px 18px 5px 18px}
.zeni-system-chat .zeni-chat-message.is-system .zeni-chat-bubble {background:#F3F3F1;color:#5C6066}
.zeni-system-chat .zeni-chat-composer {border-color:#E4E4E0;padding:.55rem .75rem .5rem;background:#fff}
.zeni-system-chat .zeni-chat-composer__row {border-color:#E4E4E0;border-radius:18px;background:#fff}
.zeni-system-chat .zeni-chat-composer textarea {font-size:16px;min-height:2rem;color:#26282B}
.zeni-system-chat .zeni-chat-send {background:#6B4FA0;border-radius:13px;min-width:2.65rem;min-height:2.65rem}
.zeni-system-chat .zeni-chat-tool {width:2.55rem;height:2.55rem;border-radius:12px;color:#5C6066}
.zeni-system-chat .zeni-chat-footer {color:#5C6066;border-color:#E4E4E0;background:#fff}
.zeni-system-chat .zeni-chat-launcher {
  right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));
  width:4rem;min-width:4rem;max-width:4rem;min-height:4rem;height:4rem;
  padding:0;justify-content:center;background:#6B4FA0;border-radius:999px;
  box-shadow:0 10px 26px rgba(107,79,160,.25);
}
.zeni-system-chat .zeni-chat-launcher__icon {background:none;width:auto;height:auto;font-size:1.55rem}
.zeni-system-chat .zeni-chat-launcher__copy {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.zeni-system-chat.is-open .zeni-chat-launcher {opacity:1;pointer-events:auto;transform:none}
html.zeni-chat-visible .zeni-call-launcher {opacity:0;pointer-events:none}
html.zc-call-open .zeni-system-chat .zeni-chat-launcher {opacity:0;pointer-events:none}
@media (max-width:575.98px) {
  html.zeni-chat-visible {overflow:hidden;overscroll-behavior:none}
  .zeni-system-chat .zeni-chat-panel {
    left:0;right:0;top:var(--zeni-chat-visible-top,0px);bottom:auto;
    width:100%;max-width:100%;height:var(--zeni-chat-visible-height,100dvh);max-height:none;
    border:none;border-radius:0;box-shadow:none;animation:none;
  }
  .zeni-system-chat .zeni-chat-header {padding:max(.75rem,env(safe-area-inset-top)) 1rem .85rem;row-gap:.6rem}
  .zeni-system-chat .zeni-chat-brand__mark {width:2.2rem;height:2.2rem}
  .zeni-system-chat .zeni-chat-call-cta {min-height:2.8rem}
  .zeni-system-chat .zeni-chat-call-explainer {font-size:.68rem}
  .zeni-system-chat .zeni-chat-header__actions {gap:0}
  .zeni-system-chat .zeni-chat-welcome {min-height:0;padding:1rem .9rem}
  .zeni-system-chat .zeni-chat-conversation {min-height:0}
  .zeni-system-chat .zeni-chat-messages {min-height:0;overscroll-behavior:contain}
  .zeni-system-chat .zeni-chat-composer {flex-shrink:0;padding:.35rem .6rem max(.35rem,env(safe-area-inset-bottom))}
  .zeni-system-chat .zeni-chat-composer__hint {display:none}
  .zeni-system-chat.is-open .zeni-chat-launcher {opacity:0;pointer-events:none}
  .zeni-system-chat .zeni-chat-quick-topics :is(button,a) {font-size:.78rem;min-height:2.75rem}
  .zeni-system-chat .zeni-chat-tool {min-width:2.6rem;min-height:2.6rem}
}
@media (prefers-reduced-motion:reduce) {
  .zeni-system-chat :is(.zeni-chat-launcher,.zeni-chat-panel,.zeni-chat-quick-topics button,.zeni-chat-quick-topics a) {transition:none;animation:none}
}
