/* Chatbot flotante MigraTrack */
#mtChatbot { position: fixed; bottom: 20px; right: 20px; z-index: 99999; font-family: inherit; }

#mtChatToggle {
    width: 60px; height: 60px; border-radius: 50%; border: none;
    background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff;
    font-size: 26px; cursor: pointer; box-shadow: 0 6px 20px rgba(37,99,235,.45);
    display: flex; align-items: center; justify-content: center; transition: transform .15s;
}
#mtChatToggle:hover { transform: scale(1.07); }

#mtChatPanel {
    position: absolute; bottom: 76px; right: 0; width: 360px; max-width: calc(100vw - 32px);
    height: 520px; max-height: calc(100vh - 120px); background: #fff; border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0,0,0,.25); display: flex; flex-direction: column; overflow: hidden;
}

#mtChatHeader {
    background: linear-gradient(135deg, #2563eb, #1d4ed8); color: #fff; padding: 14px 16px;
    font-weight: 600; display: flex; justify-content: space-between; align-items: center;
}
#mtChatHeader small { display: block; font-weight: 400; opacity: .85; font-size: 11px; }
#mtChatClose { cursor: pointer; font-size: 22px; line-height: 1; opacity: .9; }
#mtChatClose:hover { opacity: 1; }

#mtChatBody { flex: 1; overflow-y: auto; padding: 14px; background: #f6f8fb; display: flex; flex-direction: column; gap: 8px; }
.mt-msg { max-width: 82%; padding: 9px 12px; border-radius: 14px; font-size: 14px; line-height: 1.35; word-wrap: break-word; white-space: pre-wrap; }
.mt-msg.bot  { background: #fff; color: #1f2937; align-self: flex-start; border: 1px solid #e5e7eb; border-bottom-left-radius: 4px; }
.mt-msg.user { background: #2563eb; color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.mt-typing { align-self: flex-start; color: #6b7280; font-size: 13px; font-style: italic; }

#mtChatQuick { padding: 8px 12px; display: flex; flex-wrap: wrap; gap: 6px; border-top: 1px solid #eef0f3; background:#fff; }
.mt-quick {
    background: #eef2ff; color: #2563eb; border: 1px solid #c7d2fe; border-radius: 18px;
    padding: 6px 12px; font-size: 12.5px; cursor: pointer;
}
.mt-quick:hover { background: #2563eb; color: #fff; }

#mtChatInputRow { display: flex; gap: 6px; padding: 10px 12px; border-top: 1px solid #eef0f3; background: #fff; }
#mtChatInput { flex: 1; border: 1px solid #d1d5db; border-radius: 20px; padding: 9px 14px; font-size: 14px; outline: none; }
#mtChatInput:focus { border-color: #2563eb; }
#mtChatSend { background: #2563eb; color: #fff; border: none; border-radius: 50%; width: 38px; height: 38px; cursor: pointer; font-size: 16px; }
#mtChatSend:disabled { opacity: .5; cursor: default; }
