
#sdes-chat-root { z-index: 2147483646 !important; -webkit-text-size-adjust: 100% !important; }
.sdes-chat-floating { position: fixed !important; bottom: 20px !important; right: 20px !important; }

.sdes-chat-bubble { width:58px; height:58px; border-radius:50%; border:0; cursor:pointer; box-shadow:0 8px 22px rgba(0,0,0,.18);
  background:#fff; display:grid; place-items:center; position: fixed; bottom:20px; right:20px; z-index:2147483647; }
.sdes-badge { display:none; position:absolute; right:12px; top:10px; width:9px; height:9px; background:#ff4d4f; border-radius:50%; }
.sdes-badge[data-on="true"]{ display:block; }
.sdes-chat-bubble.sdes-hidden { display:none !important; }

.sdes-chat-backdrop { position: fixed !important; inset: 0 !important; background: rgba(0,0,0,.25) !important; backdrop-filter: saturate(120%) blur(1px);
  pointer-events: none !important; opacity: 0 !important; transition: opacity .15s ease-out !important; z-index: 2147483645 !important; }
.sdes-chat-backdrop[data-open="true"] { pointer-events: auto !important; opacity: 1 !important; }

.sdes-chat-panel { position: fixed !important; bottom: 90px !important; right: 20px !important; width: 380px !important; max-width: calc(100vw - 40px) !important;
  height: 560px !important; max-height: min(600px, 90vh) !important; background:#fff !important; border:1px solid #e6e6e6 !important; border-radius:16px !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.18) !important; display: none; overflow:hidden !important; z-index: 2147483646 !important; }
.sdes-chat-panel[data-open="true"] { display: flex !important; flex-direction: column !important; }

.sdes-chat-topbar { display:flex !important; align-items:center !important; gap:8px !important; background:#C6A546 !important; color:#fff !important; padding:8px 10px !important; }
.sdes-chat-title { font-weight:600 !important; flex:1 !important; }
.sdes-topbar-right button, .sdes-topbar-menu { background:transparent !important; border:0 !important; color:#fff !important; cursor:pointer !important; }

.sdes-chat-body { flex:1 !important; min-height:0 !important; display:flex !important; flex-direction:column !important; }
.sdes-chat-messages { padding: 12px !important; overflow-y:auto !important; background:#fafafa !important; -webkit-overflow-scrolling: touch !important; }

.sdes-msg { padding: 10px 12px !important; border-radius: 12px !important; margin: 6px 0 !important; max-width: 85% !important; white-space: pre-wrap !important; }
.sdes-msg.user { background: #fff7e6 !important; margin-left: auto !important; border:1px solid #f1d69b !important; }
.sdes-msg.assistant { background: #f6fff2 !important; }

.sdes-typing { display:flex; gap:6px; padding:8px 10px; }
.sdes-typing span { width:6px; height:6px; border-radius:50%; background:#bbb; animation: sdes-bounce 1.2s infinite ease-in-out; }
.sdes-typing span:nth-child(2){ animation-delay: .15s; }
.sdes-typing span:nth-child(3){ animation-delay: .3s; }
@keyframes sdes-bounce { 0%,80%,100%{ transform: scale(0.7); opacity:.5;} 40%{ transform: scale(1); opacity:1;} }

.sdes-quick-row { display:flex; flex-wrap:wrap; gap:8px; padding: 6px 10px; background:#fff; border-top:1px solid #eee; }
.sdes-chip { border:1px solid #ddd; background:#fff; border-radius: 999px; padding: 8px 12px; cursor:pointer; }

.sdes-chat-footer { padding: 8px !important; background:#fff !important; border-top:1px solid #eee !important; }
.sdes-chat-input { display:flex !important; gap:8px !important; align-items:center !important; grid-template-columns: 1fr auto !important; }
.sdes-chat-input input { flex:1 !important; padding: 12px !important; border:1px solid #ddd !important; border-radius:10px !important; font-size:17px !important; }
.sdes-chat-input button { padding: 12px 16px !important; border:0 !important; background:#C6A546 !important; color:#fff !important; border-radius:12px !important; cursor:pointer !important; min-width: 72px !important; text-align:center !important; }

.sdes-consent { margin-top:6px; font-size:12px; color:#888; }
.sdes-consent a { color:#666; text-decoration: underline; }

.sdes-chat-credit { margin-top: 6px !important; font-size: 12px !important; color:#999 !important; text-align:center !important; }
.sdes-chat-credit a { color:#666 !important; text-decoration: underline !important; }

@media (max-width: 480px){
  .sdes-chat-panel { left: 0 !important; right: 0 !important; bottom: env(safe-area-inset-bottom, 0) !important; width: 100% !important;
    height: 80vh !important; max-height: 80vh !important; border-radius: 16px 16px 0 0 !important; }
  .sdes-chat-footer { padding-bottom: calc(8px + env(safe-area-inset-bottom, 0)) !important; }
}
