#chatassistant-root {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 9999;
}
.chatassistant-launch {
  border-radius: 50px;
  padding: 12px 16px;
  background: #6a00ff;
  color: #fff;
  border: none;
}
.chatassistant-launch.hidden {
  display: none;
}
.chatassistant-panel {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 380px;
  height: 520px;
  background: #fff;
  border-radius: 16px;
  display: none;
  flex-direction: column;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}
.chatassistant-panel.open {
  display: flex;
}
.chatassistant-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: #6a00ff;
  color: #fff;
}
.chatassistant-close {
  background: transparent;
  color: #fff;
  border: none;
  font-size: 22px;
  cursor: pointer;
}
.chatassistant-output {
  flex: 1;
  padding: 12px;
  overflow-y: auto;
  background: #fafafa;
}
.chatassistant-footer {
  display: flex;
  gap: 8px;
  border-top: 1px solid #eee;
  padding: 10px;
}
.chatassistant-footer input {
  flex: 1;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #ddd;
}
.chatassistant-footer button {
  padding: 10px 16px;
  border-radius: 10px;
  border: none;
  background: #6a00ff;
  color: #fff;
  cursor: pointer;
}
.chatassistant_message {
  margin: 6px 0;
  max-width: 85%;
  clear: both;
  padding: 8px 12px;
  border-radius: 12px;
  word-wrap: break-word;
}
.chatassistant_message.user-bubble {
  background: #6a00ff;
  color: #fff;
  margin-left: auto;
}
.chatassistant_message.ai-bubble {
  background: #eee;
  color: #333;
  margin-right: auto;
}

/* Header with logo */
.chatassistant-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#6a00ff;color:#fff}
.chatassistant-header-left{display:flex;gap:12px;align-items:center}
.chatassistant-logo{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#fff}
.chatassistant-title{font-weight:700;font-size:16px;line-height:1.2}
.chatassistant-subtitle{opacity:.9;font-size:12px}

/* Message row + avatar + timestamp */
.ca-row{display:flex;gap:10px;margin:8px 0;align-items:flex-start}
.ca-row.user{flex-direction:row-reverse}
.ca-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#fff;padding:1px;margin-top:2px;}
.ca-time{font-size:11px;color:#999;text-align:center;margin:4px 0}

/* Waiting bubble look & animation */
.chatassistant_message.waiting-bubble{background:rgba(0,0,0,.04);color:#666;font-style:italic}
.chatassistant_message .waiting{white-space:nowrap}
.chatassistant_message .dots span{display:inline-block;width:4px;height:4px;margin-left:2px;background:#999;border-radius:50%;opacity:.25;animation:ca-blink 1.2s infinite both}
.chatassistant_message .dots span:nth-child(2){animation-delay:.2s}
.chatassistant_message .dots span:nth-child(3){animation-delay:.4s}
@keyframes ca-blink{0%,80%,100%{opacity:.25;}40%{opacity:1;}}


.chatassistant_message{
    display:inline-flex;
    align-items:center;           
    line-height:1.35;
    white-space:pre-wrap;
    padding:10px 14px;            
    border-radius:16px;
  }
  

.chatassistant-launch{
  width:64px; height:64px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--ca-primary,#6a00ff); color:#fff; border:none; cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.chatassistant-launch-icon{ width:28px; height:28px; object-fit:contain; }


.chatassistant-launch{
    width:64px; height:64px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--ca-primary,#6a00ff); color:#fff; border:none; cursor:pointer;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
  }
  .chatassistant-launch-icon{ width:28px; height:28px; object-fit:contain; }
  

  .chatassistant-panel{
    position:fixed; right:22px; bottom:22px;
    width:380px; height:520px;
    background:#fff;
    border-radius:18px;         
    overflow:hidden;             
    display:none; flex-direction:column;
    box-shadow:0 12px 32px rgba(0,0,0,.2);
  }
  .chatassistant-panel.open{ display:flex; }
  

  :root{
    --ca-primary: #5b2dff;              
    --ca-primary-contrast: #ffffff;     
  }
  .chatassistant-header{
    background:var(--ca-primary,#6a00ff);
    color:var(--ca-primary-contrast,#fff);
  }
  .chatassistant-launch{
    background:var(--ca-primary,#6a00ff);
    color:var(--ca-primary-contrast,#fff);
  }
  .chatassistant-footer button{
    background:var(--ca-primary,#6a00ff);
    color:var(--ca-primary-contrast,#fff);
    border:none; border-radius:12px; padding:10px 16px;
  }
  .chatassistant-logo{
    width:36px; height:36px; border-radius:50%;
    object-fit:contain; background:#fff; padding:2px;
  }
  .chatassistant-subtitle{ opacity:.9; font-size:12px; }
  


:root{
    --ca-primary: #3B82F6;              
    --ca-primary-contrast: #ffffff;     
    --ca-user-bubble: #3B82F6;          
    --ca-user-text: #ffffff;            
    --ca-bot-bubble: #eeeeee;           
    --ca-bot-text: #111111;              
  }
  
  .chatassistant-panel{
    border-radius: 18px;
    overflow: hidden;            
  }

  .chatassistant-header{
    display:flex; align-items:center; justify-content:space-between;
    padding: 12px 14px;
    background: var(--ca-primary);
    color: var(--ca-primary-contrast);
  }
  .chatassistant-header-left{ display:flex; gap:12px; align-items:center; }
  .chatassistant-logo{ width:36px; height:36px; border-radius:50%; background:#fff; padding:2px; object-fit:contain; }
  .chatassistant-title{ font-weight:700; font-size:16px; line-height:1.2; }
  .chatassistant-subtitle{ opacity:.9; font-size:12px; }
  
  .chatassistant-launch{
    width:64px; height:64px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background: var(--ca-primary);
    color: var(--ca-primary-contrast);
    border:none; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.15);
  }
  .chatassistant-launch-icon{ width:28px; height:28px; object-fit:contain; }
  

  .ca-row{ display:flex; gap:10px; margin:8px 0; align-items:flex-start; }
  .ca-row.user{ flex-direction: row-reverse; }
  .ca-avatar{
    width:32px; height:32px; border-radius:50%;
    object-fit:contain; background:#fff; padding:1px; margin-top:2px;
  }
  

  .chatassistant_message{
    display:inline-flex; align-items:center; 
    padding: 10px 14px;                     
    border-radius:16px; line-height:1.38;
  }
  

  .chatassistant_message.user-bubble{
    background: var(--ca-user-bubble);
    color: var(--ca-user-text);
  }
  .chatassistant_message.ai-bubble{
    background: var(--ca-bot-bubble);
    color: var(--ca-bot-text);
  }
  
  .chatassistant_message.waiting-bubble{
    background: rgba(0,0,0,.04); color:#666; font-style: italic;
  }
  .chatassistant_message .waiting{ white-space:nowrap; }
  .chatassistant_message .dots span{
    display:inline-block; width:4px; height:4px; margin-left:2px;
    background:#999; border-radius:50%; opacity:.25; animation:ca-blink 1.2s infinite both;
  }
  .chatassistant_message .dots span:nth-child(2){ animation-delay:.2s; }
  .chatassistant_message .dots span:nth-child(3){ animation-delay:.4s; }
  @keyframes ca-blink { 0%,80%,100%{opacity:.25;} 40%{opacity:1;} }
  
  .chatassistant-footer button{
    background: var(--ca-primary);
    color: var(--ca-primary-contrast);
    border:none; border-radius:12px; padding:10px 16px;
  }

/* Final layout and rich-content overrides */
#chatassistant-root {
  z-index: 9999;
}

.chatassistant-panel {
  width: 400px;
  height: 560px;
  min-width: 400px;
  min-height: 560px;
}

.chatassistant-panel.expanded {
  width: min(84vw, 960px);
  height: min(78vh, 540px);
  max-width: 960px;
  max-height: 540px;
}

.chatassistant-panel.dragging {
  user-select: none;
}

.chatassistant-header {
  cursor: move;
  padding: 14px 16px;
}

.chatassistant-header-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.chatassistant-header-left {
  flex: 1 1 auto;
  min-width: 0;
}

.chatassistant-title,
.chatassistant-subtitle {
  white-space: nowrap;
}

.chatassistant-subtitle {
  overflow: hidden;
  text-overflow: ellipsis;
}

.chatassistant-expand,
.chatassistant-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  vertical-align: middle;
  font-size: 0;
}

.chatassistant-expand span,
.chatassistant-close span {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
  transform: none;
}

.chatassistant-expand span::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2.5px solid #fff;
  border-right: 2.5px solid #fff;
  transform: translate(-50%, -28%) rotate(-45deg);
}

.chatassistant-expand.is-expanded span::before {
  transform: translate(-50%, -72%) rotate(135deg);
}

.chatassistant-close span::before,
.chatassistant-close span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2.5px;
  border-radius: 999px;
  background: #fff;
  transform-origin: center;
}

.chatassistant-close span::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.chatassistant-close span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.chatassistant-output {
  scroll-behavior: smooth;
}

.chatassistant-launch {
  width: 68px;
  height: 68px;
  padding: 0;
}

.chatassistant-launch-icon {
  width: auto;
  height: auto;
  max-width: 30px;
  max-height: 30px;
  object-fit: contain;
  flex-shrink: 0;
}

.chatassistant_message {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
  line-height: 1.55;
}

.chatassistant_message > :first-child {
  margin-top: 0;
}

.chatassistant_message > :last-child {
  margin-bottom: 0;
}

.chatassistant_message p,
.chatassistant_message ul,
.chatassistant_message ol,
.chatassistant_message pre,
.chatassistant_message blockquote {
  margin: 0 0 12px;
}

.chatassistant_message ul,
.chatassistant_message ol {
  padding-left: 22px;
}

.chatassistant_message ul {
  list-style: disc;
}

.chatassistant_message ul ul {
  list-style: circle;
}

.chatassistant_message ul ul ul {
  list-style: square;
}

.chatassistant_message ol {
  list-style: decimal;
}

.chatassistant_message ol ol {
  list-style: lower-alpha;
}

.chatassistant_message ol ol ol {
  list-style: lower-roman;
}

.chatassistant_message li + li {
  margin-top: 6px;
}

.chatassistant_message li > ul,
.chatassistant_message li > ol {
  margin-top: 10px;
}

.chatassistant_message pre {
  overflow-x: auto;
  white-space: pre-wrap;
}
  
.ca-row{ width:100%; display:flex; gap:10px; margin:8px 0; align-items:flex-start; }
.ca-row.bot{ justify-content:flex-start; }
.ca-row.user{ justify-content:flex-end; }

.chatassistant-output{
  overflow-y:auto;
  overflow-x:hidden;     
  padding: 12px;
  -webkit-overflow-scrolling: touch;
}

.chatassistant_message{
  display:inline-block;        
  max-width:78%;               
  padding:10px 14px;
  border-radius:16px;
  line-height:1.4;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:anywhere;      
  box-sizing:border-box;
}

.chatassistant_message *{
  max-width:100%;
  box-sizing:border-box;
}

.chatassistant_message p{ margin:.4em 0; }
.chatassistant_message h1,
.chatassistant_message h2,
.chatassistant_message h3{ margin:.4em 0 .3em; font-size:1em; font-weight:600; }
.chatassistant_message ul,
.chatassistant_message ol{ margin:.3em 0; padding-left:1.2em; }
.chatassistant_message li{ margin:.2em 0; }
.chatassistant_message pre,
.chatassistant_message code{ white-space:pre-wrap; word-break:break-word; }


.chatassistant_message table{
  display:block;
  width:100%;
  overflow-x:auto;        
  border-collapse:collapse;
}
.chatassistant_message img,
.chatassistant_message video,
.chatassistant_message iframe{
  max-width:100%;
  height:auto;
  display:block;
}

/* iOS */
.chatassistant-panel{ touch-action: pan-y; }


.chatassistant_message pre {
  font-family: inherit;
  white-space: pre-wrap;  
  margin: 0;              
}

/* Auth / SSO triage fixed card */
.ca-triage-card {
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  padding: 12px 12px 10px;
  margin: 10px 0;
  background: rgba(0,0,0,.02);
}
.ca-triage-title { font-weight: 700; margin: 0 0 6px; }
.ca-triage-subtitle { margin: 0 0 6px; font-size: .95em; }
.ca-triage-subtitle--optional { margin-top: 8px; opacity: .9; }
.ca-triage-list { margin: 0; padding-left: 1.2em; }
.ca-triage-list--optional { opacity: .95; }
.ca-triage-card__title {
  font-weight: 700;
  margin: 0 0 6px;
}
.ca-triage-card__desc {
  margin: 0 0 8px;
  font-size: .95em;
}
.ca-triage-card__list {
  margin: 0;
  padding-left: 1.2em;
}
.ca-triage-card__hint {
  margin: 8px 0 0;
  font-size: .92em;
  opacity: .9;
}
.ca-triage-chip {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
  font-size: .85em;
  margin-right: 6px;
}

.chatassistant_message p {
  margin: 0 0 16px;
  line-height: 1.45;
}

.chatassistant_message p:last-child {
  margin-bottom: 0;
}

.chatassistant_message ul,
.chatassistant_message ol {
  margin: 0 0 16px 1.4em;
  padding-left: 1.1em;
}

.chatassistant_message li {
  margin: 0;
  line-height: 1.45;
}

.chatassistant_message li + li {
  margin-top: 8px;
}

.chatassistant_message p + ul,
.chatassistant_message p + ol {
  margin-top: -4px;
}
