/* AI Chatbot — floating widget */
.aichat{position:fixed;right:20px;bottom:20px;z-index:99998;font-family:inherit;}
.aichat *{box-sizing:border-box;}
/* Keep inline icons visible over theme SVG rules (currentColor = button text colour) */
.aichat svg{fill:currentColor;flex:none;pointer-events:none;}
.aichat svg path{fill:currentColor !important;}
.aichat-fab{width:62px;height:62px;border-radius:50% !important;border:none;padding:0;-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#2b8cff 0%,#0d6efd 55%,#0b5ed7 100%);color:#fff;cursor:pointer;box-shadow:0 10px 26px rgba(13,110,253,.45),0 2px 6px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .25s,box-shadow .25s;position:relative;z-index:2;}
.aichat-fab:hover{transform:translateY(-2px) scale(1.07);box-shadow:0 14px 32px rgba(13,110,253,.55),0 3px 8px rgba(0,0,0,.2);}
.aichat-fab:active{transform:scale(.95);}
.aichat-fab:focus{outline:none;}
.aichat-fab svg{width:28px;height:28px;transition:transform .25s;}
.aichat-fab .aichat-ico-close{display:none;}
.aichat.open .aichat-fab .aichat-ico-open{display:none;}
.aichat.open .aichat-fab .aichat-ico-close{display:inline-block;}
.aichat.open .aichat-fab{background:linear-gradient(135deg,#ff6b7a 0%,#f2495b 55%,#e5334a 100%);box-shadow:0 10px 26px rgba(229,51,74,.45),0 2px 6px rgba(0,0,0,.18);}
.aichat.open .aichat-fab:hover{box-shadow:0 14px 32px rgba(229,51,74,.55),0 3px 8px rgba(0,0,0,.2);}
.aichat.open .aichat-fab .aichat-ico-close{transform:rotate(90deg);}

.aichat-panel{position:absolute;right:0;bottom:72px;width:360px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100vh - 110px);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:.18s;}
.aichat.open .aichat-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1);}
.aichat-head{background:#0d6efd;color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;}
.aichat-head strong{font-size:15px;}
.aichat-sub{font-size:12px;opacity:.85;}
.aichat-head-x{background:none;border:none;color:#fff;cursor:pointer;display:flex;padding:0;}
.aichat-body{flex:1;overflow-y:auto;padding:16px;background:#f5f6f8;display:flex;flex-direction:column;gap:8px;}
.aichat-msg{max-width:82%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.5;word-break:break-word;}
.aichat-bot{background:#fff;border:1px solid #e7e7e7;align-self:flex-start;border-bottom-left-radius:4px;color:#222;}
.aichat-user{background:#0d6efd;color:#fff;align-self:flex-end;border-bottom-right-radius:4px;}
.aichat-agent{background:#198754;color:#fff;}
.aichat-bot strong{font-weight:700;}
.aichat-bot .aichat-h{font-weight:700;margin:6px 0 2px;}
.aichat-bot .aichat-hr{border:0;border-top:1px solid #ececec;margin:8px 0;}
.aichat-bot .aichat-ul{margin:4px 0 4px 2px;padding-left:18px;}
.aichat-bot .aichat-ul li{margin:2px 0;}
.aichat-bot code{background:#f1f1f1;border-radius:4px;padding:1px 5px;font-size:13px;font-family:ui-monospace,Menlo,Consolas,monospace;}
.aichat-bot a{color:#0d6efd;text-decoration:underline;word-break:break-all;}
.aichat-bot .aichat-tw{overflow-x:auto;margin:6px 0;-webkit-overflow-scrolling:touch;}
.aichat-bot .aichat-tbl{border-collapse:collapse;width:100%;font-size:12.5px;background:#fff;}
.aichat-bot .aichat-tbl th,.aichat-bot .aichat-tbl td{border:1px solid #e2e2e2;padding:5px 8px;text-align:left;white-space:nowrap;}
.aichat-bot .aichat-tbl th{background:#f5f5f5;font-weight:700;}
.aichat-foot{display:flex;gap:8px;padding:10px;border-top:1px solid #eee;background:#fff;}
.aichat-foot input{flex:1;border:1px solid #ddd;border-radius:20px;padding:9px 14px;font-size:14px;outline:none;color:#222;background:#fff;}
.aichat-foot input:focus{border-color:#0d6efd;}
.aichat-foot button{width:42px;height:42px;border-radius:50% !important;border:none;padding:0;-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#2b8cff,#0d6efd);color:#fff;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(13,110,253,.35);transition:transform .18s,box-shadow .18s,background .18s;}
.aichat-foot button:hover:not(:disabled){transform:scale(1.08);box-shadow:0 5px 14px rgba(13,110,253,.45);}
.aichat-foot button:active:not(:disabled){transform:scale(.94);}
.aichat-foot button svg{width:20px;height:20px;position:relative;left:1px;}
.aichat-foot button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;}
.aichat-foot input:disabled{background:#f1f1f1;cursor:not-allowed;}
.aichat-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;display:inline-block;animation:aichatspin .7s linear infinite;}
@keyframes aichatspin{to{transform:rotate(360deg);}}
.aichat-typing{display:flex;gap:4px;align-items:center;}
.aichat-typing span{width:7px;height:7px;border-radius:50%;background:#bbb;animation:aichatblink 1.2s infinite both;}
.aichat-typing span:nth-child(2){animation-delay:.2s;}
.aichat-typing span:nth-child(3){animation-delay:.4s;}
@keyframes aichatblink{0%,80%,100%{opacity:.3;}40%{opacity:1;}}
@media (max-width:480px){.aichat-panel{width:calc(100vw - 24px);height:70vh;}}
