#ttd-chat {
  position: fixed;
  z-index: 2147483000;
  right: 24px;
  bottom: 24px;
  color: #17243c;
  font: 14px/1.48 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
#ttd-chat *, #ttd-chat *::before, #ttd-chat *::after { box-sizing: border-box; }
#ttd-chat .screen-reader-text {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
#ttd-chat button { font: inherit; }
#ttd-chat .ttd-chat-toggle {
  display: grid; place-items: center; width: 62px; height: 62px; margin-left: auto;
  border: 1px solid rgba(255,255,255,.28); border-radius: 22px;
  background: linear-gradient(145deg, var(--ttd-chat-color), #102849);
  color: #fff; box-shadow: 0 10px 30px rgba(11,29,58,.26), inset 0 1px rgba(255,255,255,.2);
  cursor: pointer; transition: transform .2s ease, box-shadow .2s ease;
}
#ttd-chat .ttd-chat-toggle:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(11,29,58,.3); }
#ttd-chat .ttd-chat-toggle svg { display: block; }
#ttd-chat .ttd-chat-panel {
  width: min(398px, calc(100vw - 32px)); height: min(590px, calc(100dvh - 110px));
  margin-bottom: 14px; overflow: hidden; border: 1px solid rgba(25,49,88,.12);
  border-radius: 22px; background: #fff;
  box-shadow: 0 24px 80px rgba(16,35,67,.24), 0 4px 18px rgba(16,35,67,.08);
}
#ttd-chat .ttd-chat-panel[hidden], #ttd-chat .ttd-chat-suggestions[hidden] { display: none; }
#ttd-chat .ttd-chat-panel:not([hidden]) { display: flex; flex-direction: column; animation: ttd-chat-rise .23s ease-out; }
#ttd-chat .ttd-chat-header {
  display: flex; align-items: center; gap: 11px; min-height: 76px; padding: 13px 16px;
  color: #fff; background: linear-gradient(125deg, var(--ttd-chat-color), #122b50);
}
#ttd-chat .ttd-chat-avatar {
  display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px;
  border: 1px solid rgba(255,255,255,.32); border-radius: 13px;
  background: rgba(255,255,255,.16); color: #fff; font-size: 13px; font-weight: 800;
  letter-spacing: .04em;
}
#ttd-chat .ttd-chat-heading { flex: 1; min-width: 0; }
#ttd-chat .ttd-chat-heading strong { display: block; overflow: hidden; font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
#ttd-chat .ttd-chat-heading span { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.82); font-size: 11px; }
#ttd-chat .ttd-chat-heading i { width: 6px; height: 6px; border-radius: 50%; background: #5cf0ae; box-shadow: 0 0 0 3px rgba(92,240,174,.16); }
#ttd-chat .ttd-chat-close, #ttd-chat .ttd-chat-reset {
  display: grid; flex: 0 0 30px; place-items: center; width: 30px; height: 30px;
  padding: 0; border: 0; border-radius: 9px; background: rgba(255,255,255,.1);
  color: #fff; font-size: 22px; line-height: 1; cursor: pointer;
}
#ttd-chat .ttd-chat-close:hover, #ttd-chat .ttd-chat-reset:hover { background: rgba(255,255,255,.2); }
#ttd-chat .ttd-chat-reset { font-size: 19px; }
#ttd-chat .ttd-chat-messages {
  display: flex; flex: 1; flex-direction: column; gap: 12px; overflow-y: auto;
  min-height: 0; padding: 20px 17px; background: linear-gradient(#f6f8fc, #fafbfe);
  overscroll-behavior: contain;
}
#ttd-chat .ttd-chat-message {
  max-width: 88%; padding: 11px 14px; border-radius: 16px; overflow-wrap: anywhere;
  white-space: pre-wrap; font-size: 13.5px; line-height: 1.55;
  box-shadow: 0 2px 9px rgba(18,42,75,.06);
}
#ttd-chat .ttd-chat-message strong { font-weight: 720; }
#ttd-chat .ttd-chat-bot {
  align-self: flex-start; border: 1px solid #e6ebf3; border-bottom-left-radius: 5px;
  background: #fff; color: #223149;
}
#ttd-chat .ttd-chat-user {
  align-self: flex-end; border-bottom-right-radius: 5px;
  background: var(--ttd-chat-color); color: #fff;
}
#ttd-chat .ttd-chat-loading { color: #6c7890; }
#ttd-chat .ttd-chat-sources {
  display: flex; flex-direction: column; gap: 6px; margin-top: 12px; padding-top: 9px;
  border-top: 1px solid #e7ebf2; font-size: 12px; white-space: normal;
}
#ttd-chat .ttd-chat-sources strong { color: #65718a; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
#ttd-chat .ttd-chat-sources a { color: var(--ttd-chat-color); font-weight: 600; text-decoration: none; }
#ttd-chat .ttd-chat-sources a:hover { text-decoration: underline; }
#ttd-chat .ttd-chat-suggestions { display: flex; flex-wrap: wrap; gap: 7px; padding: 9px 14px 2px; background: #fff; }
#ttd-chat .ttd-chat-suggestions button {
  padding: 7px 11px; border: 1px solid #dfe6f0; border-radius: 999px;
  background: #f7f9fd; color: #31456c; font-size: 12px; cursor: pointer;
}
#ttd-chat .ttd-chat-suggestions button:hover { border-color: var(--ttd-chat-color); background: #fff; }
#ttd-chat .ttd-chat-form { display: flex; align-items: center; gap: 9px; padding: 11px 13px 5px; background: #fff; }
#ttd-chat .ttd-chat-form input[name="message"] {
  flex: 1; min-width: 0; height: 44px; padding: 0 13px; border: 1px solid #dfe5ef;
  border-radius: 13px; background: #f8fafd; color: #1d2c44;
  font: inherit; outline: 0; box-shadow: none;
}
#ttd-chat .ttd-chat-form input[name="message"]:focus { border-color: var(--ttd-chat-color); background: #fff; }
#ttd-chat .ttd-chat-form button[type="submit"] {
  display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px;
  padding: 0; border: 0; border-radius: 13px;
  background: var(--ttd-chat-color); color: #fff; cursor: pointer;
}
#ttd-chat .ttd-chat-form button[type="submit"]:hover { filter: brightness(1.09); }
#ttd-chat .ttd-chat-form button:disabled { opacity: .55; cursor: wait; }
#ttd-chat .ttd-chat-note { display: block; padding: 3px 13px 11px; background: #fff; color: #818b9c; text-align: center; font-size: 10px; }
#ttd-chat .ttd-chat-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
#ttd-chat button:focus-visible, #ttd-chat input:focus-visible { outline: 3px solid #ffbd61; outline-offset: 2px; }
@keyframes ttd-chat-rise { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 600px) {
  #ttd-chat { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); }
  #ttd-chat .ttd-chat-panel { width: min(398px, calc(100vw - 28px)); height: min(590px, calc(100dvh - 96px)); }
  #ttd-chat .ttd-chat-messages { padding: 16px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  #ttd-chat .ttd-chat-panel:not([hidden]) { animation: none; }
  #ttd-chat .ttd-chat-toggle { transition: none; }
}



/* Premium floating action buttons */
#ttd-chat .ttd-floating-actions{
 position:relative;
 display:flex;
 flex-direction:row;
 align-items:center;
 justify-content:flex-end;
 gap:14px;
 position:relative;
}
#ttd-chat .ttd-call-toggle,
#ttd-chat .ttd-chat-toggle{
 position:relative;
 display:grid;
 place-items:center;
 width:64px;
 height:64px;
 border-radius:50%;
 overflow:visible;
 border:none;
 box-shadow:0 12px 35px rgba(0,0,0,.28);
 animation:ttdPopShake 5s infinite;
}
#ttd-chat .ttd-call-toggle{
 background:#16a34a;
 color:white;
 text-decoration:none;
}
#ttd-chat .ttd-chat-toggle{
 margin:0;
 background:linear-gradient(145deg,var(--ttd-chat-color),#08284a);
 color:white;
}
#ttd-chat .ttd-call-toggle:after,
#ttd-chat .ttd-chat-toggle:after{
 content:"";
 position:absolute;
 inset:-7px;
 border-radius:50%;
 border:2px solid rgba(255,255,255,.35);
 animation:ttdRing 3s infinite;
}
#ttd-chat .ttd-call-toggle:hover,
#ttd-chat .ttd-chat-toggle:hover{
 transform:translateY(-5px) scale(1.08);
}
@keyframes ttdPopShake{
 0%,80%,100%{transform:scale(1) rotate(0)}
 83%{transform:scale(1.12) rotate(-8deg)}
 86%{transform:scale(1.05) rotate(8deg)}
 89%{transform:scale(1.1) rotate(-5deg)}
 92%{transform:scale(1) rotate(0)}
}
@keyframes ttdRing{
 0%{opacity:.7;transform:scale(.8)}
 70%{opacity:0;transform:scale(1.35)}
 100%{opacity:0}
}
@media(max-width:600px){
 #ttd-chat .ttd-floating-actions{gap:10px}
 #ttd-chat .ttd-call-toggle,#ttd-chat .ttd-chat-toggle{width:58px;height:58px}
}

/* Premium micro interactions */
#ttd-chat .ttd-floating-actions a, #ttd-chat .ttd-floating-actions button{cursor:pointer;}
#ttd-chat .ttd-floating-actions svg{filter:drop-shadow(0 3px 5px rgba(0,0,0,.25));}

/* Premium floating action buttons */
#ttd-chat .ttd-floating-actions{
 display:flex; flex-direction:row-reverse; gap:14px; align-items:center;
}
#ttd-chat .ttd-circle-btn{
 width:62px;height:62px;border-radius:50%!important;
 display:grid;place-items:center;padding:0;border:0;
 background:linear-gradient(145deg,var(--ttd-chat-color),#102849);
 color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25);
 animation:ttdPop var(--ttd-anim,5s) infinite;
 overflow:hidden;cursor:pointer;
}
#ttd-chat .ttd-circle-btn img{width:32px;height:32px;object-fit:contain}
#ttd-chat .ttd-call-toggle{background:#25D366;color:#fff}
#ttd-chat .ttd-circle-btn:hover{transform:scale(1.08)}
@keyframes ttdPop{0%,85%,100%{transform:scale(1)}90%{transform:scale(1.12)}95%{transform:rotate(8deg) scale(1.08)}}
#ttd-chat .ttd-chat-avatar img{width:38px;height:38px;border-radius:50%;object-fit:cover}


/* Final floating positions: AI right, Call left */
#ttd-chat {
  right: 25px !important;
  left: auto !important;
  bottom: 25px !important;
}
#ttd-chat .ttd-floating-actions {
  display:block !important;
}
#ttd-chat .ttd-chat-toggle {
  position:fixed !important;
  right:25px !important;
  bottom:25px !important;
  margin:0 !important;
  z-index:2147483001;
}
#ttd-chat .ttd-call-toggle {
  position:fixed !important;
  left:25px !important;
  bottom:25px !important;
  z-index:2147483001;
}
#ttd-chat .ttd-circle-btn {
  width:64px !important;
  height:64px !important;
  border-radius:50% !important;
  background:#ffffff;
  border:4px solid rgba(255,255,255,.9);
}
#ttd-chat .ttd-chat-toggle {
 background:linear-gradient(145deg,var(--ttd-chat-color),#08284a) !important;
 color:#fff !important;
}
#ttd-chat .ttd-call-toggle {
 background:#25D366 !important;
 color:#fff !important;
}
@media(max-width:600px){
 #ttd-chat .ttd-chat-toggle{right:15px !important;bottom:15px !important;}
 #ttd-chat .ttd-call-toggle{left:15px !important;bottom:15px !important;}
}

/* Mobile layout fix v2 */
@media (max-width: 600px){
  #ttd-chat .ttd-chat-toggle,
  #ttd-chat .ttd-call-toggle{
    width:58px !important;
    height:58px !important;
    bottom:18px !important;
  }

  #ttd-chat .ttd-chat-toggle{
    right:18px !important;
    left:auto !important;
  }

  #ttd-chat .ttd-call-toggle{
    left:18px !important;
    right:auto !important;
  }

  #ttd-chat .ttd-chat-panel{
    position:fixed !important;
    left:10px !important;
    right:10px !important;
    bottom:88px !important;
    width:auto !important;
    max-width:none !important;
    height:calc(100dvh - 120px) !important;
    border-radius:18px !important;
  }

  #ttd-chat .ttd-chat-header{
    min-height:64px !important;
    padding:10px 12px !important;
  }

  #ttd-chat .ttd-chat-messages{
    padding:12px !important;
    font-size:13px !important;
  }

  #ttd-chat .ttd-chat-form{
    padding:8px !important;
  }

  #ttd-chat .ttd-chat-form input[name="message"]{
    height:42px !important;
    font-size:14px !important;
  }
}
