/* Website chat (hvt-app/portal/modules/phoneline/web_chat.php): round button bottom right, panel above it; full screen on phones. */
.hvtc-btn{position:fixed;right:20px;bottom:20px;z-index:1080;width:58px;height:58px;border-radius:50%;border:0;background:#0A2540;color:#fff;
  box-shadow:0 8px 24px rgba(10,37,64,.35);display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;transition:transform .15s}
.hvtc-btn:hover{transform:scale(1.06)}
.hvtc-btn:focus-visible{outline:3px solid #22c55e;outline-offset:3px}
.hvtc-btn .hvtc-dot{position:absolute;top:6px;right:6px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #0A2540}
.hvtc-panel{position:fixed;right:20px;bottom:90px;z-index:1081;width:360px;height:520px;max-height:calc(100vh - 110px);background:#fff;border-radius:16px;
  box-shadow:0 20px 50px rgba(15,23,42,.3);display:none;flex-direction:column;overflow:hidden;font-size:14px;color:#0f172a}
.hvtc-panel.hvtc-open{display:flex}
.hvtc-head{background:#0A2540;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px}
.hvtc-head .hvtc-title{font-weight:700;line-height:1.1}
.hvtc-head .hvtc-sub{font-size:11px;opacity:.7}
.hvtc-head button{margin-left:auto;background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;opacity:.8;padding:4px 6px}
.hvtc-head button:hover{opacity:1}
.hvtc-log{flex:1;overflow-y:auto;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}
.hvtc-msg{max-width:85%;padding:8px 11px;border-radius:12px;white-space:pre-wrap;word-wrap:break-word;line-height:1.4}
.hvtc-msg.hvtc-assistant{background:#fff;border:1px solid #e2e8f0;align-self:flex-start;border-bottom-left-radius:4px}
.hvtc-msg.hvtc-visitor{background:#0d6efd;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.hvtc-btns{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start;max-width:95%}
.hvtc-btns button,.hvtc-btns a{border:1px solid #0d6efd;background:#fff;color:#0d6efd;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;
  cursor:pointer;text-decoration:none;line-height:1.3}
.hvtc-btns button:hover,.hvtc-btns a:hover{background:#0d6efd;color:#fff}
.hvtc-btns button:disabled{opacity:.5;cursor:default;background:#fff;color:#0d6efd}
.hvtc-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;align-self:stretch}
.hvtc-form input,.hvtc-form textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:6px 9px;font-size:13px;font-family:inherit}
.hvtc-form textarea{resize:vertical;min-height:60px}
.hvtc-form label.hvtc-check{display:flex;gap:6px;align-items:center;font-size:12px;color:#475569}
.hvtc-form label.hvtc-check input{width:auto}
.hvtc-form .hvtc-err{color:#dc2626;font-size:12px;min-height:0}
.hvtc-form .hvtc-row{display:flex;gap:6px;justify-content:flex-end}
.hvtc-form .hvtc-row button{border:0;border-radius:8px;padding:6px 14px;font-weight:700;font-size:13px;cursor:pointer}
.hvtc-form .hvtc-send{background:#0d6efd;color:#fff}
.hvtc-form .hvtc-cancel{background:#e2e8f0;color:#334155}
.hvtc-typing{align-self:flex-start;color:#64748b;font-size:12px;font-style:italic}
.hvtc-foot{border-top:1px solid #e2e8f0;padding:8px;display:flex;gap:6px;background:#fff}
.hvtc-foot textarea{flex:1;border:1px solid #cbd5e1;border-radius:10px;padding:7px 10px;resize:none;height:38px;font-size:14px;font-family:inherit}
.hvtc-foot button{border:0;background:#0d6efd;color:#fff;border-radius:10px;width:42px;font-size:16px;cursor:pointer}
.hvtc-foot button:disabled,.hvtc-foot textarea:disabled{opacity:.5}
.hvtc-note{font-size:10.5px;color:#94a3b8;text-align:center;padding:0 8px 6px;background:#fff}
.hvtc-panel *,.hvtc-panel *::before,.hvtc-panel *::after{box-sizing:border-box}
.hvtc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:575.98px){
  .hvtc-panel{right:0;bottom:0;width:100%;height:100%;max-height:none;border-radius:0}
  .hvtc-panel.hvtc-open + .hvtc-btn,.hvtc-btn.hvtc-hide{display:none}
}
@media (prefers-reduced-motion:reduce){.hvtc-btn{transition:none}}
