/* TodoGest Chatbot widget */
.tdg-bot{position:fixed;right:22px;bottom:22px;z-index:9999;font-family:inherit}
.tdg-bot__launcher{
    width:62px;height:62px;border-radius:50%;border:none;cursor:pointer;
    background:linear-gradient(135deg,#2596be 0%,#1d4ed8 100%);
    box-shadow:0 10px 24px rgba(37,150,190,.45);
    display:flex;align-items:center;justify-content:center;
    transition:transform .2s ease, box-shadow .2s ease;
    position:relative;
}
.tdg-bot__launcher:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 30px rgba(37,150,190,.55)}
.tdg-bot__launcher svg{width:34px;height:34px;color:#fff}
.tdg-bot__pulse{
    position:absolute;inset:-4px;border-radius:50%;
    border:2px solid rgba(37,150,190,.5);
    animation:tdgPulse 2s ease-out infinite;pointer-events:none;
}
@keyframes tdgPulse{
    0%{transform:scale(.95);opacity:.8}
    100%{transform:scale(1.25);opacity:0}
}
.tdg-bot__tip{
    position:absolute;right:74px;bottom:14px;
    background:#0f172a;color:#fff;font-size:12px;font-weight:600;
    padding:8px 12px;border-radius:10px;white-space:nowrap;
    box-shadow:0 6px 18px rgba(15,23,42,.25);
    opacity:0;transform:translateX(6px);pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
}
.tdg-bot__tip::after{
    content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);
    border:6px solid transparent;border-left-color:#0f172a;
}
.tdg-bot__launcher:hover + .tdg-bot__tip{opacity:1;transform:translateX(0)}

.tdg-bot__panel{
    position:fixed;right:22px;bottom:96px;width:min(380px,calc(100vw - 28px));
    height:min(560px,calc(100vh - 130px));
    background:#fff;border-radius:18px;
    box-shadow:0 24px 60px rgba(15,23,42,.28);
    display:none;flex-direction:column;overflow:hidden;
    border:1px solid #e2e8f0;
    animation:tdgIn .22s ease-out;
}
.tdg-bot.is-open .tdg-bot__panel{display:flex}
.tdg-bot.is-open .tdg-bot__pulse{display:none}
@keyframes tdgIn{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
}

.tdg-bot__header{
    background:linear-gradient(135deg,#2596be 0%,#1d4ed8 100%);
    color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px;
}
.tdg-bot__avatar{
    width:42px;height:42px;border-radius:50%;
    background:rgba(255,255,255,.18);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.tdg-bot__avatar svg{width:26px;height:26px;color:#fff}
.tdg-bot__title{flex:1;line-height:1.2}
.tdg-bot__title strong{display:block;font-size:15px;font-weight:700}
.tdg-bot__title span{display:block;font-size:11px;opacity:.85;margin-top:2px}
.tdg-bot__close{
    background:rgba(255,255,255,.15);border:none;color:#fff;
    width:30px;height:30px;border-radius:50%;cursor:pointer;
    font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;
    transition:background .15s ease;
}
.tdg-bot__close:hover{background:rgba(255,255,255,.3)}

.tdg-bot__body{
    flex:1;overflow-y:auto;padding:14px;background:#f8fafc;
    display:flex;flex-direction:column;gap:10px;
}
.tdg-bot__msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;word-wrap:break-word}
.tdg-bot__msg--bot{background:#fff;border:1px solid #e2e8f0;color:#0f172a;align-self:flex-start;border-bottom-left-radius:4px}
.tdg-bot__msg--user{background:linear-gradient(135deg,#2596be 0%,#1d4ed8 100%);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.tdg-bot__msg strong{color:#1d4ed8}
.tdg-bot__msg--user strong{color:#fff}
.tdg-bot__msg ul{margin:6px 0 0;padding-left:18px}
.tdg-bot__msg li{margin:2px 0}
.tdg-bot__msg a{color:#1d4ed8;text-decoration:underline;font-weight:600}

.tdg-bot__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tdg-bot__chip{
    background:#fff;border:1px solid #cbd5e1;color:#0f172a;
    padding:6px 11px;border-radius:999px;font-size:12px;font-weight:600;
    cursor:pointer;transition:all .15s ease;
}
.tdg-bot__chip:hover{background:#eff6ff;border-color:#2596be;color:#1d4ed8}

.tdg-bot__input{
    display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0;background:#fff;
}
.tdg-bot__input input{
    flex:1;border:1px solid #cbd5e1;border-radius:999px;
    padding:9px 14px;font-size:13px;outline:none;
    transition:border-color .15s ease;
}
.tdg-bot__input input:focus{border-color:#2596be}
.tdg-bot__input button{
    background:linear-gradient(135deg,#2596be 0%,#1d4ed8 100%);
    border:none;color:#fff;width:38px;height:38px;border-radius:50%;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:transform .15s ease;
}
.tdg-bot__input button:hover{transform:scale(1.06)}
.tdg-bot__input button svg{width:18px;height:18px}

.tdg-bot__typing{display:flex;gap:3px;align-self:flex-start;padding:10px 13px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;border-bottom-left-radius:4px}
.tdg-bot__typing span{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:tdgDot 1.2s infinite}
.tdg-bot__typing span:nth-child(2){animation-delay:.2s}
.tdg-bot__typing span:nth-child(3){animation-delay:.4s}
@keyframes tdgDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

@media (max-width:640px){
    .tdg-bot{right:14px;bottom:14px}
    .tdg-bot__panel{right:10px;bottom:88px;height:min(540px,calc(100vh - 110px))}
}
