.assistant218{position:fixed;right:20px;bottom:20px;z-index:99990;font-family:Arial,sans-serif;color:#18324a}
.assistant218 *{box-sizing:border-box}
.assistant218-launcher{border:0;border-radius:999px;background:linear-gradient(135deg,#ef3e23 0%,#f97316 100%);color:#fff;box-shadow:0 10px 30px rgba(8,35,63,.28);display:flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;cursor:pointer;font-weight:800}
.assistant218-launcher-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff3ed;color:#c92c16;font-size:13px}
.assistant218-panel{position:absolute;right:0;bottom:62px;width:min(390px,calc(100vw - 28px));height:min(610px,calc(100vh - 100px));background:#fff;border:1px solid #d7e5eb;border-radius:18px;box-shadow:0 18px 55px rgba(8,35,63,.24);display:none;overflow:hidden}
.assistant218.open .assistant218-panel{display:flex;flex-direction:column}
.assistant218-header{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;background:linear-gradient(135deg,#d92d20 0%,#f97316 100%);color:#fff}
.assistant218-header strong{display:block;font-size:15px}.assistant218-header span{display:block;font-size:11px;opacity:.83;margin-top:3px}
.assistant218-close{border:0;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.assistant218-messages{flex:1;overflow:auto;padding:14px;background:#f6fafb}
.assistant218-msg{max-width:88%;padding:10px 12px;border-radius:13px;margin-bottom:10px;font-size:13px;line-height:1.45;white-space:pre-wrap}
.assistant218-msg.bot{background:#fff;border:1px solid #dce9ee;border-bottom-left-radius:4px}
.assistant218-msg.user{background:#D8EEF2;margin-left:auto;border-bottom-right-radius:4px}
.assistant218-actions{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}
.assistant218-actions a{font-size:12px;text-decoration:none;background:#fff;border:1px solid #94CED8;color:#08233F;padding:7px 9px;border-radius:999px;font-weight:700}
.assistant218-quick{padding:8px 12px;display:flex;gap:6px;overflow:auto;border-top:1px solid #edf3f6}
.assistant218-quick button{white-space:nowrap;border:1px solid #d4e5ea;background:#fff;border-radius:999px;padding:7px 9px;font-size:11px;cursor:pointer}
.assistant218-form,.assistant218-handoff{padding:10px 12px;border-top:1px solid #e6eff2;background:#fff}
.assistant218-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.assistant218 textarea,.assistant218 input{width:100%;border:1px solid #cddce2;border-radius:10px;padding:9px 10px;font:inherit;font-size:13px;outline:none}
.assistant218 textarea:focus,.assistant218 input:focus{border-color:#5baab9;box-shadow:0 0 0 3px rgba(148,206,216,.25)}
.assistant218-form button,.assistant218-handoff button{border:0;border-radius:10px;background:linear-gradient(135deg,#e53921 0%,#f97316 100%);color:#fff;font-weight:800;padding:9px 12px;cursor:pointer}
.assistant218-handoff{display:grid;gap:7px}
.assistant218-handoff[hidden]{display:none}
.assistant218-handoff-title{font-size:12px;font-weight:800;color:#08233F}
.assistant218-hp{position:absolute!important;left:-9999px!important;opacity:0!important}
.assistant218-footer{padding:8px 12px;border-top:1px solid #edf3f6;font-size:10px;color:#6a7c8e;display:flex;justify-content:space-between;gap:8px}
.assistant218-footer a{color:#315f78;text-decoration:none}
@media(max-width:600px){.assistant218{right:12px;bottom:12px}.assistant218-launcher-text{display:none}.assistant218-launcher{padding:7px}.assistant218-panel{bottom:56px;height:min(650px,calc(100vh - 82px))}}


/* V15.1 - Nút trở về đầu đặt giữa-cuối trang, tách khỏi Trợ lý 218 */
.assistant218-backtop{
    position:fixed;
    left:50%;
    bottom:18px;
    transform:translateX(-50%) translateY(18px);
    z-index:99970;
    width:44px;
    height:44px;
    border:1px solid rgba(8,35,63,.12);
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:#08233F;
    box-shadow:0 8px 24px rgba(8,35,63,.18);
    display:grid;
    place-items:center;
    font-size:21px;
    font-weight:900;
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.assistant218-backtop.is-visible{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(0);
}
.assistant218-backtop:hover{
    background:#fff4ee;
    color:#d92d20;
    border-color:#f7b29f;
}
@media(max-width:600px){
    .assistant218-backtop{
        bottom:14px;
        width:42px;
        height:42px;
    }
}
