/* FIX13 - Chatbot Dược dạng floating widget */
.pharma-chat-widget{position:fixed;right:22px;bottom:24px;z-index:9990;font-family:inherit}
.pharma-chat-launch{position:relative;width:58px;height:58px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0b6db9,#07579a);color:#fff;box-shadow:0 12px 30px rgba(7,87,154,.32);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.pharma-chat-launch:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 16px 34px rgba(7,87,154,.38)}
.pharma-chat-launch:focus-visible{outline:3px solid rgba(11,109,185,.24);outline-offset:4px}
.pharma-chat-launch svg,.pharma-chat-head-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pharma-chat-launch .pharma-chat-cross,.pharma-chat-head-icon .pharma-chat-cross{stroke-width:2.2}
.pharma-chat-launch-dot{position:absolute;right:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#20c56b;border:2px solid #fff}
.pharma-chat-panel{position:absolute;right:0;bottom:72px;width:min(390px,calc(100vw - 30px));height:min(590px,calc(100vh - 120px));min-height:440px;background:#fff;border:1px solid #d8e4f1;border-radius:20px;box-shadow:0 22px 60px rgba(16,50,84,.22);overflow:hidden;display:flex;flex-direction:column;transform-origin:bottom right;animation:pharmaChatIn .18s ease-out}
.pharma-chat-panel[hidden]{display:none!important}
@keyframes pharmaChatIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.pharma-chat-head{display:flex;align-items:center;gap:11px;padding:13px 14px;background:linear-gradient(135deg,#075da6,#0d77c8);color:#fff;flex:0 0 auto}
.pharma-chat-head-icon{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.pharma-chat-head-icon svg{width:23px;height:23px}
.pharma-chat-head-text{display:flex;flex-direction:column;min-width:0;line-height:1.2;flex:1}.pharma-chat-head-text strong{font-size:16px}.pharma-chat-head-text span{font-size:11.5px;opacity:.87;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pharma-chat-close{width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font-size:27px;line-height:1;cursor:pointer;flex:0 0 auto}.pharma-chat-close:hover{background:rgba(255,255,255,.22)}
.pharma-chat-messages{flex:1;min-height:0;overflow:auto;padding:16px 14px 10px;background:#f6f9fd;scroll-behavior:smooth}
.pharma-chat-message{display:flex;margin:0 0 11px}.pharma-chat-message--user{justify-content:flex-end}.pharma-chat-message--bot{justify-content:flex-start}
.pharma-chat-bubble{max-width:86%;padding:10px 12px;border-radius:15px;font-size:13.5px;line-height:1.52;word-break:break-word;white-space:pre-wrap}
.pharma-chat-message--bot .pharma-chat-bubble{background:#fff;color:#1c334c;border:1px solid #e0e9f3;border-bottom-left-radius:5px;box-shadow:0 3px 10px rgba(21,67,108,.05)}
.pharma-chat-message--user .pharma-chat-bubble{background:#0b67b3;color:#fff;border-bottom-right-radius:5px}
.pharma-chat-sources{max-width:92%;margin:3px 0 2px;display:grid;gap:6px}.pharma-chat-source{display:block;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #dce7f2;color:#174a77;text-decoration:none;font-size:12px;line-height:1.35}.pharma-chat-source:hover{border-color:#8db9df;background:#f9fcff}.pharma-chat-source strong{display:block;color:#0b5cad;font-size:12.5px;margin-bottom:2px}.pharma-chat-source small{display:block;color:#6f8296;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pharma-chat-status{padding:3px 15px 8px;background:#f6f9fd;color:#6e8092;font-size:12px;flex:0 0 auto}.pharma-chat-status span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#0b67b3;margin-right:2px;animation:pharmaDot 1s infinite ease-in-out}.pharma-chat-status span:nth-child(2){animation-delay:.12s}.pharma-chat-status span:nth-child(3){animation-delay:.24s}@keyframes pharmaDot{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.pharma-chat-form{display:flex;align-items:flex-end;gap:8px;padding:10px 11px;border-top:1px solid #e1e9f2;background:#fff;flex:0 0 auto}.pharma-chat-form textarea{flex:1;resize:none;max-height:110px;min-height:40px;border:1px solid #cfdce9;border-radius:12px;padding:10px 11px;font:inherit;font-size:13.5px;line-height:1.35;color:#1d344b;background:#fff;outline:none}.pharma-chat-form textarea:focus{border-color:#1b78c3;box-shadow:0 0 0 3px rgba(27,120,195,.10)}
.pharma-chat-send{width:42px;height:42px;border:0;border-radius:12px;background:#0b67b3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.pharma-chat-send:hover{background:#075b9f}.pharma-chat-send:disabled{opacity:.55;cursor:not-allowed}.pharma-chat-send svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pharma-chat-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 12px 9px;background:#fff;color:#75869a;font-size:10.5px;line-height:1.25;flex:0 0 auto}.pharma-chat-foot span{min-width:0}.pharma-chat-foot a{color:#0b67b3;text-decoration:none;white-space:nowrap;font-weight:700}
body.dark-mode .pharma-chat-panel{background:#122031;border-color:#2a4158}body.dark-mode .pharma-chat-messages,body.dark-mode .pharma-chat-status{background:#0f1c2a}body.dark-mode .pharma-chat-message--bot .pharma-chat-bubble,body.dark-mode .pharma-chat-source,body.dark-mode .pharma-chat-form,body.dark-mode .pharma-chat-foot{background:#17283a;border-color:#2b4158;color:#e7eef6}body.dark-mode .pharma-chat-source strong,body.dark-mode .pharma-chat-foot a{color:#75bdf4}body.dark-mode .pharma-chat-source small,body.dark-mode .pharma-chat-foot,body.dark-mode .pharma-chat-status{color:#9eb0c2}body.dark-mode .pharma-chat-form textarea{background:#102132;border-color:#36506a;color:#eef6ff}
@media(max-width:600px){.pharma-chat-widget{right:14px;bottom:16px}.pharma-chat-launch{width:54px;height:54px}.pharma-chat-panel{position:fixed;left:10px;right:10px;bottom:80px;width:auto;height:min(68vh,580px);min-height:390px;border-radius:18px}.pharma-chat-head-text span{max-width:220px}.pharma-chat-foot span{display:none}}

/* FIX26.6 - CAPTCHA chống spam cho widget công khai */
.pharma-chat-captcha{padding:9px 12px 4px;border-top:1px solid rgba(148,163,184,.22);background:#f8fbff}
.pharma-chat-captcha-label{font-size:12px;font-weight:600;color:#52657a;margin-bottom:6px}
.pharma-chat-captcha-inner{display:flex;align-items:center;gap:7px}
.pharma-chat-captcha img{width:118px;height:39px;object-fit:cover;border:1px solid #d5e0eb;border-radius:8px;background:#fff}
.pharma-chat-captcha input{min-width:0;flex:1;height:39px;border:1px solid #cbd8e6;border-radius:8px;padding:0 9px;text-transform:uppercase;background:#fff}
.pharma-chat-captcha-refresh{width:34px;height:34px;border:1px solid #cbd8e6;border-radius:8px;background:#fff;cursor:pointer;font-size:18px;color:#245b8d}
