/* UPIGI chatbot widget — mobile-first */
.upigi-chat-btn {
    position: fixed; right: 16px; bottom: 16px; z-index: 9999;
    width: 56px; height: 56px; border-radius: 50%; border: none;
    background: linear-gradient(135deg, #667eea, #764ba2);
    font-size: 26px; cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
.upigi-chat-win {
    position: fixed; right: 16px; bottom: 84px; z-index: 9999;
    width: min(360px, calc(100vw - 32px)); height: min(520px, calc(100vh - 120px));
    background: #fff; border-radius: 14px; overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,.25);
    display: flex; flex-direction: column; font-size: 14px;
}
.upigi-chat-head {
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: #fff; padding: 12px 14px; font-weight: bold;
    display: flex; justify-content: space-between; align-items: center;
}
.upigi-chat-close { cursor: pointer; }
.upigi-chat-body {
    flex: 1; overflow-y: auto; padding: 12px;
    display: flex; flex-direction: column; gap: 8px;
    background: #f7f7f9;
}
.upigi-msg {
    max-width: 85%; padding: 8px 12px; border-radius: 12px;
    background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.08);
    line-height: 1.5; white-space: pre-wrap; word-break: break-word;
}
.upigi-msg.me {
    align-self: flex-end; background: #667eea; color: #fff;
}
.upigi-chat-quick {
    display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 12px;
    background: #fff; border-top: 1px solid #eee;
}
.upigi-chat-quick button {
    font-size: 12px; padding: 6px 10px; border-radius: 16px;
    border: 1px solid #667eea; background: #fff; color: #667eea;
    cursor: pointer;
}
.upigi-chat-input {
    display: flex; padding: 8px 12px; background: #fff;
    border-top: 1px solid #eee;
}
.upigi-chat-input input {
    flex: 1; border: 1px solid #ddd; border-radius: 20px;
    padding: 8px 12px; font-size: 14px; outline: none;
}
.upigi-chat-input button {
    margin-left: 8px; border: none; border-radius: 20px;
    background: #667eea; color: #fff; padding: 8px 16px;
    cursor: pointer; font-size: 14px;
}
