:root{--aisc-primary:#6366f1;--aisc-send-color:#6366f1;--aisc-bg:#f8fafc;--aisc-border:#e2e8f0;--aisc-text:#0f172a;--aisc-muted:#64748b;--aisc-bar-h:110px;--aisc-avatar-size:34px;--aisc-icon-size:42px}
.aisc-chat-shell,.aisc-chat-shell *{box-sizing:border-box}
.aisc-chat-shell{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--aisc-text)}
body.aisc-chat-lock{overflow:hidden}
.aisc-bottom-composer{position:fixed;left:0;right:0;bottom:0;z-index:99998;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-top:1px solid var(--aisc-border);box-shadow:0 -16px 50px rgba(15,23,42,.12);padding:12px max(14px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-right))}
.aisc-bottom-inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:center}
.aisc-bottom-title strong{display:block;font-size:15px}.aisc-bottom-title span{display:flex;gap:6px;align-items:center;margin-top:3px;font-size:12px;color:var(--aisc-muted)}.aisc-bottom-title i{width:7px;height:7px;border-radius:50%;background:#22c55e;display:inline-block}
.aisc-input-wrap{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--aisc-border);border-radius:20px;padding:8px;box-shadow:0 8px 24px rgba(15,23,42,.08)}
.aisc-input{flex:1;resize:none;min-height:44px;max-height:120px;border:0;border-radius:15px;padding:12px 14px;font:inherit;outline:none;background:#fff;color:var(--aisc-text)}
.aisc-send-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;margin:0!important;border:0!important;border-radius:15px!important;background:var(--aisc-send-color)!important;color:#fff!important;cursor:not-allowed;font-size:18px!important;line-height:1!important;flex-shrink:0;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;vertical-align:middle!important;appearance:none!important;-webkit-appearance:none!important;opacity:.38;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease}.aisc-send-btn.active{background:var(--aisc-send-color)!important;color:#fff!important;cursor:pointer;opacity:1;box-shadow:0 10px 22px color-mix(in srgb,var(--aisc-send-color) 30%,transparent)}.aisc-send-btn.active:hover{transform:translateY(-1px)}.aisc-send-btn svg,.aisc-send-btn .aisc-send-icon{display:block;width:18px;height:18px;line-height:1;margin:auto;transform:translateX(1px)}.aisc-send-btn:disabled{background:var(--aisc-send-color)!important;color:#fff!important;opacity:.38;cursor:not-allowed}.aisc-send-btn:not(:disabled){opacity:1;cursor:pointer}
.aisc-chat-panel{position:fixed;left:0;right:0;bottom:0;top:0;z-index:99997;background:#fff;transform:translateY(100%);transition:transform .34s cubic-bezier(.22,.61,.36,1);display:flex;flex-direction:column;box-shadow:0 -20px 70px rgba(15,23,42,.22);padding-bottom:var(--aisc-bar-h);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden}
.aisc-panel-open .aisc-chat-panel{transform:translateY(0)}
.aisc-chat-head{height:72px;background:#fff;border-bottom:1px solid var(--aisc-border);padding:12px max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0}
.aisc-brand{display:flex;gap:12px;align-items:center}.aisc-brand-icon{width:var(--aisc-icon-size);height:var(--aisc-icon-size);border-radius:14px;background:color-mix(in srgb,var(--aisc-primary) 12%,#fff);display:flex;align-items:center;justify-content:center;font-size:22px;overflow:hidden}.aisc-brand-icon img{width:100%;height:100%;object-fit:cover;display:block}.aisc-brand strong{display:block;font-size:16px}.aisc-brand span{display:block;color:var(--aisc-muted);font-size:12px;margin-top:3px}
.aisc-panel-actions{display:flex;gap:8px;align-items:center}.aisc-new-chat-btn,.aisc-close-panel-btn{border:0;border-radius:14px;padding:11px 14px;cursor:pointer;font-weight:700}.aisc-new-chat-btn{background:var(--aisc-primary);color:#fff}.aisc-close-panel-btn{width:42px;height:42px;background:#f1f5f9;color:#334155;font-size:24px;line-height:1;padding:0}.aisc-close-panel-btn:hover{background:#e2e8f0}
.aisc-panel-body{flex:1;min-height:0;height:calc(100vh - 72px - var(--aisc-bar-h));height:calc(100dvh - 72px - var(--aisc-bar-h));display:grid;grid-template-columns:280px minmax(0,1fr);background:var(--aisc-bg);overflow:hidden}
.aisc-chat-side{background:linear-gradient(180deg,#0f172a,#111827);color:#fff;padding:18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.aisc-side-title{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#cbd5e1}.aisc-quick-list{display:flex;flex-direction:column;gap:8px}.aisc-quick-list button{width:100%;border:0;border-radius:14px;padding:12px 14px;text-align:left;cursor:pointer;font-weight:700;background:rgba(255,255,255,.08);color:#e5e7eb}.aisc-quick-list button:hover{background:rgba(255,255,255,.16)}
.aisc-chat-main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;background:var(--aisc-bg);overflow:hidden}.aisc-messages{flex:1 1 auto;min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:22px 24px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#f8fafc,#eef2ff);scroll-behavior:smooth;scroll-padding-bottom:20px}
.aisc-bottom-spacer{height:18px;min-height:18px;flex:0 0 18px;pointer-events:none}.aisc-empty-state{text-align:center;max-width:520px;margin:80px auto;color:var(--aisc-muted)}.aisc-empty-icon{font-size:46px;margin-bottom:12px}.aisc-empty-state h3{margin:0 0 8px;font-size:24px;color:var(--aisc-text)}.aisc-empty-state p{margin:0;line-height:1.55}
.aisc-msg-row{display:flex;gap:10px;margin:14px 0;align-items:flex-start}.aisc-msg-row.user{flex-direction:row-reverse}.aisc-msg-avatar{width:var(--aisc-avatar-size);height:var(--aisc-avatar-size);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(15,23,42,.08);flex-shrink:0;overflow:hidden}.aisc-msg-avatar img{width:100%;height:100%;object-fit:cover;display:block}.aisc-msg-body{max-width:76%}.aisc-msg-name{font-size:12px;color:var(--aisc-muted);margin:0 0 4px 4px}.aisc-msg-row.user .aisc-msg-name{text-align:right;margin-right:4px}.aisc-msg-content{background:#fff;border:1px solid var(--aisc-border);border-radius:16px;padding:12px 14px;line-height:1.55;box-shadow:0 2px 12px rgba(15,23,42,.05)}.aisc-msg-row.user .aisc-msg-content{background:var(--aisc-primary);border-color:var(--aisc-primary);color:#fff}.aisc-msg-content p{margin:0}.aisc-msg-content ul{margin:8px 0 0 18px}.aisc-msg-content code{background:rgba(15,23,42,.08);padding:2px 5px;border-radius:5px}
.aisc-dots{display:flex;gap:5px;padding:4px}.aisc-dots i{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:aiscBlink 1.2s infinite}.aisc-dots i:nth-child(2){animation-delay:.15s}.aisc-dots i:nth-child(3){animation-delay:.3s}@keyframes aiscBlink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.aisc-lead-bar{background:#fff;border-top:1px solid var(--aisc-border);padding:14px 18px;flex:0 0 auto}.aisc-lead-bar p{margin:0 0 10px;color:var(--aisc-text);font-weight:700}.aisc-lead-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.aisc-lead-fields input{border:1px solid var(--aisc-border);border-radius:10px;padding:10px}.aisc-lead-actions{display:flex;gap:8px;margin-top:10px}.aisc-lead-actions button{border:0;border-radius:10px;padding:9px 13px;cursor:pointer}.aisc-lead-submit{background:var(--aisc-primary);color:#fff}.aisc-lead-skip{background:#f1f5f9;color:#334155}
.aisc-content-preview{max-width:960px;margin:0 auto;background:#fff;border:1px solid var(--aisc-border);border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(15,23,42,.06);line-height:1.7;color:var(--aisc-text)}.aisc-content-preview-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--aisc-primary);background:color-mix(in srgb,var(--aisc-primary) 10%,#fff);border:1px solid color-mix(in srgb,var(--aisc-primary) 18%,#fff);border-radius:999px;padding:5px 10px;margin-bottom:12px}.aisc-content-preview h3{font-size:24px;line-height:1.25;margin:0 0 16px;color:var(--aisc-text)}.aisc-content-preview-body>*:first-child{margin-top:0}.aisc-content-preview-body>*:last-child{margin-bottom:0}.aisc-content-preview img{max-width:100%;height:auto;border-radius:12px}.aisc-content-preview table{width:100%;border-collapse:collapse}.aisc-content-preview th,.aisc-content-preview td{border:1px solid var(--aisc-border);padding:8px}.aisc-content-preview a{color:var(--aisc-primary)}
@media(max-width:780px){:root{--aisc-bar-h:86px}.aisc-bottom-inner{grid-template-columns:1fr;gap:8px}.aisc-bottom-title{display:none}.aisc-bottom-composer{padding:10px}.aisc-chat-panel{padding-bottom:var(--aisc-bar-h)}.aisc-chat-head{height:64px;padding:10px}.aisc-new-chat-btn{display:none}.aisc-panel-body{grid-template-columns:1fr;height:calc(100vh - 64px - var(--aisc-bar-h));height:calc(100dvh - 64px - var(--aisc-bar-h))}.aisc-chat-side{display:none}.aisc-messages{padding:14px 14px calc(16px + env(safe-area-inset-bottom));scroll-padding-bottom:18px}.aisc-msg-body{max-width:86%}.aisc-lead-fields{grid-template-columns:1fr}.aisc-content-preview{padding:16px;border-radius:14px}.aisc-content-preview h3{font-size:21px}}

/* v2.4: keep send button perfectly aligned with textarea */
.aisc-input-wrap{align-items:center!important;}
.aisc-send-btn{align-self:center!important;display:flex!important;place-items:center!important;}
.aisc-send-btn svg,.aisc-send-btn .aisc-send-icon{margin:auto!important;position:relative!important;top:0!important;left:0!important;}

/* V2.7: auto greeting half-screen mode */
.aisc-panel-peek .aisc-chat-panel{transform:translateY(0);top:auto!important;height:var(--aisc-greet-h,50vh)!important;height:var(--aisc-greet-h,50dvh)!important;max-height:80vh!important;max-height:80dvh!important;min-height:35vh;min-height:35dvh;border-radius:24px 24px 0 0;overflow:hidden;}
.aisc-panel-peek .aisc-chat-head{height:64px;padding-top:10px;padding-bottom:10px;}
.aisc-panel-peek .aisc-panel-body{height:calc(var(--aisc-greet-h,50vh) - 64px - var(--aisc-bar-h));height:calc(var(--aisc-greet-h,50dvh) - 64px - var(--aisc-bar-h));min-height:0;}
.aisc-panel-peek .aisc-messages{padding-top:18px;padding-bottom:calc(105px + env(safe-area-inset-bottom));}
.aisc-panel-peek .aisc-content-preview{display:none;}
.aisc-panel-peek .aisc-new-chat-btn{display:none;}
@media(max-width:780px){.aisc-panel-peek .aisc-chat-side{display:none}.aisc-panel-peek .aisc-panel-body{grid-template-columns:1fr;height:calc(var(--aisc-greet-h,50dvh) - 64px - var(--aisc-bar-h));}.aisc-panel-peek .aisc-chat-panel{border-radius:20px 20px 0 0;}}

/* V2.7.1: fix auto greeting peek blank space */
.aisc-panel-peek .aisc-chat-panel{
  padding-bottom:var(--aisc-bar-h)!important;
}
.aisc-panel-peek .aisc-panel-body{
  height:calc(var(--aisc-greet-h,50vh) - 64px - var(--aisc-bar-h))!important;
  height:calc(var(--aisc-greet-h,50dvh) - 64px - var(--aisc-bar-h))!important;
}
.aisc-panel-peek .aisc-messages{
  padding:16px 18px calc(18px + env(safe-area-inset-bottom))!important;
  scroll-padding-bottom:20px!important;
}
.aisc-panel-peek .aisc-bottom-spacer{
  height:18px!important;
  min-height:18px!important;
  flex-basis:18px!important;
}
.aisc-panel-peek .aisc-msg-row:first-child{
  margin-top:0!important;
}
@media(max-width:780px){
  .aisc-panel-peek .aisc-messages{
    padding:14px 14px calc(16px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:18px!important;
  }
  .aisc-panel-peek .aisc-bottom-spacer{
    height:16px!important;
    min-height:16px!important;
    flex-basis:16px!important;
  }
}


/* V2.7.2: compact bottom spacing for both 50% greeting and full-height chat */
.aisc-chat-panel{padding-bottom:var(--aisc-bar-h)!important;}
.aisc-panel-body{height:calc(100vh - 72px - var(--aisc-bar-h))!important;height:calc(100dvh - 72px - var(--aisc-bar-h))!important;}
.aisc-messages{padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:20px!important;}
.aisc-bottom-spacer{height:18px!important;min-height:18px!important;flex:0 0 18px!important;}
.aisc-panel-peek .aisc-panel-body{height:calc(var(--aisc-greet-h,50vh) - 64px - var(--aisc-bar-h))!important;height:calc(var(--aisc-greet-h,50dvh) - 64px - var(--aisc-bar-h))!important;}
.aisc-panel-peek .aisc-messages{padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:16px!important;}
.aisc-panel-peek .aisc-bottom-spacer{height:12px!important;min-height:12px!important;flex:0 0 12px!important;}
@media(max-width:780px){.aisc-panel-body{height:calc(100vh - 64px - var(--aisc-bar-h))!important;height:calc(100dvh - 64px - var(--aisc-bar-h))!important}.aisc-messages{padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:16px!important}.aisc-bottom-spacer{height:14px!important;min-height:14px!important;flex-basis:14px!important}}

/* V3.2 - image attachments in chat */
.aisc-image-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(138px,1fr));
  gap:10px;
  margin-top:12px;
}
.aisc-chat-image{
  display:block;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:#fff;
  text-decoration:none!important;
  color:inherit!important;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.aisc-chat-image img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#f1f5f9;
}
.aisc-chat-image span{
  display:block;
  padding:8px 10px;
  font-size:12px;
  line-height:1.35;
  color:#475569;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:520px){
  .aisc-image-gallery{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .aisc-chat-image{ border-radius:13px; }
}

/* V3.6 Human Takeover */
.aisc-msg-row.human .aisc-msg-avatar{background:#0f766e;color:#fff}.aisc-msg-row.human .aisc-msg-content{background:#ccfbf1;color:#134e4a}.aisc-msg-row.human .aisc-msg-name{color:#0f766e}
