.hvai-fab{position:fixed;right:22px;bottom:22px;z-index:9990;border:0;border-radius:999px;padding:13px 18px;background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(85,45,130,.28);cursor:pointer;font-size:15px;transition:.18s ease}
.hvai-fab:hover{transform:translateY(-2px)}
.hvai-shell{position:fixed;inset:0;z-index:9995;display:none;pointer-events:none}
.hvai-shell.open{display:block}
.hvai-backdrop{position:absolute;inset:0;background:rgba(12,22,30,.32);backdrop-filter:blur(3px);pointer-events:auto}
.hvai-panel{position:absolute;right:0;top:0;height:100%;height:100dvh;width:min(440px,94vw);background:#f5f8fb;box-shadow:-18px 0 46px rgba(0,0,0,.18);display:flex;flex-direction:column;pointer-events:auto;animation:hvaiIn .22s ease-out;overflow:hidden}
@keyframes hvaiIn{from{transform:translateX(28px);opacity:.45}to{transform:none;opacity:1}}
.hvai-head{min-height:64px;padding:12px 16px;background:linear-gradient(135deg,#0b3d2e,#14634c);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto}
.hvai-brand{min-width:0}.hvai-title{font-size:19px;font-weight:900;line-height:1.15}.hvai-sub{font-size:12px;opacity:.88;margin-top:4px}.hvai-close{border:0;background:rgba(255,255,255,.15);color:#fff;border-radius:14px;width:40px;height:40px;font-size:22px;cursor:pointer;flex:0 0 auto}
.hvai-welcome{padding:12px 14px 8px;background:#f5f8fb;flex:0 0 auto}.hvai-welcome-title{font-size:13px;font-weight:850;color:#395267;margin:0 0 9px 2px}
.hvai-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hvai-quick button{min-height:44px;border:1px solid #dce5ed;background:#fff;border-radius:14px;padding:9px 11px;font-weight:800;cursor:pointer;text-align:left;color:#243b53;display:flex;align-items:center;gap:7px;box-shadow:0 2px 8px rgba(30,55,75,.035)}
.hvai-quick button:hover{background:#eef8f3;border-color:#c7dfd2}
.hvai-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 18px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
.hvai-row{display:flex;width:100%}.hvai-row.bot{justify-content:flex-start}.hvai-row.user{justify-content:flex-end}
.hvai-msg{max-width:88%;border-radius:18px;padding:11px 13px;line-height:1.5;font-size:14px;white-space:pre-wrap;box-shadow:0 4px 14px rgba(20,40,60,.055);overflow-wrap:anywhere}
.hvai-msg.bot{background:#fff;border:1px solid #e0e8ef;color:#243b53;border-bottom-left-radius:6px}.hvai-msg.user{background:#dff6eb;color:#173b2e;border:1px solid #bfe9d5;border-bottom-right-radius:6px}
.hvai-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.hvai-action{border:1px solid #cddfd5;background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;color:#0b4c39;cursor:pointer}.hvai-action:hover{background:#edf8f2}
.hvai-compose{padding:10px 14px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e8ee;flex:0 0 auto}.hvai-input-wrap{display:flex;align-items:center;gap:8px;border:1px solid #cbd7e1;border-radius:18px;background:#fff;padding:5px 5px 5px 12px;box-shadow:0 3px 12px rgba(20,40,60,.06)}
.hvai-compose input{flex:1;min-width:0;border:0;background:transparent;padding:8px 0;font-size:15px;outline:none;color:#213547}.hvai-compose input::placeholder{color:#8a9aa8}.hvai-input-wrap:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.11)}
.hvai-send{border:0;border-radius:14px;width:42px;height:42px;background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff;font-weight:900;font-size:18px;cursor:pointer;flex:0 0 auto}
html.hvai-open{overflow:hidden}

/* Mobile class is set by JavaScript because the main site intentionally uses a 980px layout viewport. */
.hvai-shell.hvai-mobile .hvai-backdrop{display:none}
.hvai-shell.hvai-mobile .hvai-panel{position:fixed;inset:0;right:auto;top:auto;width:100vw;max-width:none;height:100vh;height:100dvh;box-shadow:none;animation:hvaiMobileIn .18s ease-out}
@keyframes hvaiMobileIn{from{transform:translateY(14px);opacity:.6}to{transform:none;opacity:1}}
.hvai-shell.hvai-mobile .hvai-head{min-height:56px;padding:calc(8px + env(safe-area-inset-top)) 14px 8px}
.hvai-shell.hvai-mobile .hvai-title{font-size:17px}.hvai-shell.hvai-mobile .hvai-sub{font-size:11px;margin-top:2px}.hvai-shell.hvai-mobile .hvai-close{width:38px;height:38px;border-radius:12px}
.hvai-shell.hvai-mobile .hvai-welcome{padding:9px 12px 7px;border-bottom:1px solid #e5edf2;background:#fff}
.hvai-shell.hvai-mobile .hvai-welcome-title{font-size:12px;margin:0 0 7px 1px}
.hvai-shell.hvai-mobile .hvai-quick{display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:1px 1px 4px;scrollbar-width:none;overscroll-behavior-x:contain}
.hvai-shell.hvai-mobile .hvai-quick::-webkit-scrollbar{display:none}
.hvai-shell.hvai-mobile .hvai-quick button{flex:0 0 auto;min-height:38px;border-radius:999px;padding:7px 11px;font-size:12px;white-space:nowrap;box-shadow:none}
.hvai-shell.hvai-mobile .hvai-log{padding:12px 12px 16px;gap:10px;background:#f5f8fb}
.hvai-shell.hvai-mobile .hvai-msg{max-width:91%;font-size:14px;padding:10px 12px;border-radius:17px}
.hvai-shell.hvai-mobile .hvai-msg.bot{border-bottom-left-radius:5px}.hvai-shell.hvai-mobile .hvai-msg.user{border-bottom-right-radius:5px}
.hvai-shell.hvai-mobile .hvai-compose{padding:8px 10px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 16px rgba(25,45,60,.05)}
.hvai-shell.hvai-mobile .hvai-input-wrap{border-radius:22px;padding-left:14px}
.hvai-shell.hvai-mobile .hvai-compose input{font-size:16px;padding:9px 0}
.hvai-shell.hvai-mobile .hvai-send{width:42px;height:42px;border-radius:50%}
.hvai-shell.hvai-mobile~.hvai-fab,.hvai-open .hvai-fab{display:none}

@media(max-width:640px){
  .hvai-fab{right:14px;bottom:14px;padding:12px 15px;font-size:14px}
}

/* 3.3: ổn định hiển thị khi bàn phím điện thoại mở */
.hvai-shell.hvai-mobile{inset:0;width:100%;height:100%;transform:none!important}
.hvai-shell.hvai-mobile .hvai-panel{width:100%!important;max-width:100%!important;min-width:0!important;left:0!important;right:0!important;top:0!important;bottom:0!important}
.hvai-shell.hvai-mobile .hvai-compose input{font-size:16px!important;line-height:1.25;transform:none!important}
@supports(height:100svh){.hvai-shell.hvai-mobile .hvai-panel{height:100svh}}
@supports(height:100dvh){.hvai-shell.hvai-mobile .hvai-panel{height:100dvh}}
