.tt-chat-launcher{position:fixed;left:20px;bottom:20px;z-index:10020;width:72px;height:72px;border:0;border-radius:20px;background:#102442;box-shadow:0 14px 35px rgba(16,36,66,.28);cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,box-shadow .2s ease}.tt-chat-launcher:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(16,36,66,.34)}.tt-chat-launcher:focus-visible{outline:3px solid #f65a1e;outline-offset:4px}.tt-chat-launcher img{width:56px;height:56px;object-fit:contain}.tt-chat-launcher .tt-chat-pulse{position:absolute;right:-2px;top:-2px;width:15px;height:15px;border:3px solid #fff;border-radius:50%;background:#f65a1e}.tt-chat-panel{position:fixed;left:20px;bottom:94px;z-index:10021;width:min(390px,calc(100vw - 32px));max-height:min(650px,calc(100vh - 120px));border:1px solid rgba(16,36,66,.12);border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(16,36,66,.25);overflow:hidden;display:flex;flex-direction:column;color:#102442}.tt-chat-panel[hidden]{display:none}.tt-chat-head{display:flex;align-items:center;gap:12px;padding:17px 18px;background:#102442;color:#fff}.tt-chat-head img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.tt-chat-head div{flex:1}.tt-chat-head strong,.tt-chat-head span{display:block}.tt-chat-head strong{font-size:16px}.tt-chat-head span{font-size:12px;opacity:.78;margin-top:2px}.tt-chat-close{border:0;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:4px}.tt-chat-progress{height:4px;background:#e9eef5}.tt-chat-progress span{display:block;height:100%;background:#f65a1e;transition:width .25s ease}.tt-chat-log{padding:18px;overflow:auto;min-height:230px;scroll-behavior:smooth}.tt-message{max-width:88%;margin:0 0 12px;padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.5}.tt-message.bot{background:#f1f5f9;border-bottom-left-radius:5px}.tt-message.user{margin-left:auto;background:#102442;color:#fff;border-bottom-right-radius:5px}.tt-chat-controls{padding:0 18px 18px}.tt-chat-controls label{display:block;font-size:12px;font-weight:800;margin:0 0 7px;color:#40516a}.tt-chat-controls input,.tt-chat-controls select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:13px 14px;font:inherit;color:#102442;background:#fff}.tt-chat-controls input:focus,.tt-chat-controls select:focus{outline:3px solid rgba(246,90,30,.2);border-color:#f65a1e}.tt-chat-actions{display:flex;gap:9px;margin-top:11px}.tt-chat-next,.tt-chat-back{border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.tt-chat-next{flex:1;background:#f65a1e;color:#fff}.tt-chat-back{background:#e9eef5;color:#102442}.tt-chat-error{min-height:18px;color:#b42318;font-size:12px;margin:7px 2px 0}.tt-chat-privacy{padding:0 18px 14px;font-size:11px;line-height:1.4;color:#64748b}.tt-chat-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.tt-chat-typing{display:inline-flex;gap:4px;align-items:center}.tt-chat-typing i{width:6px;height:6px;border-radius:50%;background:#8190a5;animation:ttTyping 1s infinite}.tt-chat-typing i:nth-child(2){animation-delay:.15s}.tt-chat-typing i:nth-child(3){animation-delay:.3s}@keyframes ttTyping{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}@media(max-width:700px){.tt-chat-launcher{left:14px;bottom:14px;width:64px;height:64px;border-radius:19px}.tt-chat-launcher img{width:49px;height:49px}.tt-chat-panel{left:8px;bottom:78px;width:calc(100vw - 16px);max-height:calc(100vh - 92px);border-radius:20px}.tt-chat-log{min-height:200px}.contact-dock{z-index:9990}}
.tt-chat-head span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#57d17a;margin-right:4px}.tt-chat-log{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)}.tt-chat-row{display:flex;align-items:flex-end;gap:7px;margin:0 0 12px}.tt-chat-row.user{justify-content:flex-end}.tt-chat-row .tt-message{margin:0}.tt-chat-avatar{width:25px;height:25px;flex:0 0 25px;border-radius:9px;background:#102442;display:grid;place-items:center}.tt-chat-avatar img{width:20px;height:20px;object-fit:contain}.tt-chat-composer{display:flex;gap:8px;border:1px solid #cbd5e1;border-radius:16px;padding:5px;background:#fff;box-shadow:0 7px 22px rgba(16,36,66,.08)}.tt-chat-controls .tt-chat-composer input{border:0;padding:10px;min-width:0}.tt-chat-controls .tt-chat-composer input:focus{outline:0}.tt-chat-send{width:43px;height:43px;flex:0 0 43px;border:0;border-radius:12px;background:#f65a1e;color:#fff;font-size:21px;cursor:pointer}.tt-chat-choices{display:flex;flex-wrap:wrap;gap:8px}.tt-choice{border:1px solid #f65a1e;border-radius:999px;padding:9px 12px;background:#fff7f3;color:#7b2b0d;font:700 13px/1.25 inherit;cursor:pointer;text-align:left;transition:.18s}.tt-choice:hover,.tt-choice:focus-visible{background:#f65a1e;color:#fff;transform:translateY(-1px);outline:0}.tt-chat-controls>.tt-chat-back{display:block;margin:10px auto 0;border:0;background:transparent;padding:4px;color:#64748b;font-size:12px;font-weight:700;cursor:pointer}.tt-chat-confirm{padding:13px 15px;border-radius:14px;background:#effaf2;color:#195c2c}.tt-chat-confirm strong,.tt-chat-confirm span{display:block}.tt-chat-confirm span{font-size:12px;margin-top:3px}.tt-typing-row{margin-bottom:8px}

/* High-contrast light launcher: consistent on desktop and mobile. */
.tt-chat-launcher{background:#fff;border:2px solid #f6a17e;box-shadow:0 14px 35px rgba(16,36,66,.18)}
.tt-chat-launcher:hover{border-color:#f65a1e;box-shadow:0 18px 42px rgba(246,90,30,.2)}
.tt-chat-launcher{animation:ttChatAttention 1.8s ease-in-out 3;will-change:transform}
.tt-chat-launcher:after{content:"";position:absolute;inset:-4px;border:3px solid #f65a1e;border-radius:24px;pointer-events:none;animation:ttChatHalo 1.8s ease-out 3;will-change:transform,opacity}
.tt-chat-launcher:hover,.tt-chat-launcher:focus-visible,.tt-chat-launcher[aria-expanded="true"]{animation-play-state:paused}
@keyframes ttChatAttention{0%,100%{transform:scale(1)}45%{transform:translateY(-2px) scale(1.055)}}
@keyframes ttChatHalo{0%{transform:scale(.92);opacity:.65}75%,100%{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:reduce){.tt-chat-launcher,.tt-chat-launcher:after{animation:none;will-change:auto}}
