#chat-widget{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:2147483000;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}
#chat-widget.chat-open #chat-fab{display:none}
#chat-widget.chat-open #chat-panel{bottom:0}
#chat-fab{width:290px;max-width:calc(100vw - 28px);height:64px;border-radius:999px;border:0;background:linear-gradient(135deg,#ff8a00,#ff3d3d 55%,#ff2a6d);box-shadow:0 14px 32px rgba(255,61,61,.42);cursor:pointer;position:relative;z-index:2147483001;padding:8px 14px 8px 10px;display:flex;align-items:center;gap:10px;overflow:hidden;color:#fff;font-size:15px;line-height:1;animation:chat-fab-pulse 2.4s ease-in-out infinite}
#chat-fab:before{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(105deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.45) 50%,rgba(255,255,255,0) 70%);animation:chat-fab-shine 3.2s linear infinite}
#chat-fab:hover{transform:translateY(-1px)}
.chat-fab-icon{width:42px;height:42px;border-radius:999px;background:rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 42px;position:relative;z-index:1}
.chat-fab-text-wrap{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;height:100%;position:relative;z-index:1}
.chat-fab-title{font-size:12px;line-height:14px;height:14px;font-weight:700;opacity:.96;color:#fff;margin-bottom:4px}
.chat-fab-typing{display:block;font-size:14px;line-height:18px;height:18px;font-weight:700;white-space:nowrap;overflow:hidden;max-width:220px;text-overflow:ellipsis;border-right:2px solid rgba(255,255,255,.95);padding-right:2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.chat-fab-idle .chat-fab-typing{animation:chat-fab-caret .8s step-end infinite}
#chat-panel{position:absolute;right:0;bottom:70px;width:340px;max-width:calc(100vw - 36px);height:460px;max-height:calc(100vh - 120px);background:#fff;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.22);overflow:hidden;display:flex;flex-direction:column;z-index:100000}
#chat-panel.chat-hidden{display:none!important}
.chat-header{background:linear-gradient(135deg,#0d1b3f,#111827 45%,#0c4a6e);color:#fff;padding:10px 12px;display:flex;align-items:center;gap:10px}
.chat-title{font-weight:600}
.chat-status{font-size:11px;line-height:1;background:#16a34a;color:#fff;border-radius:999px;padding:3px 7px}
.chat-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
#chat-clear{background:transparent;border:0;color:#cbd5e1;cursor:pointer;font-size:12px;line-height:1}
#chat-clear:hover{color:#fff}
#chat-close{background:transparent;border:0;color:#fff;cursor:pointer;font-size:18px;line-height:1}
.chat-messages{padding:12px;flex:1;overflow-y:auto;background:radial-gradient(circle at 10% 0%,#fff9db 0,#f8fbff 40%,#f3f4f6 100%)}
.chat-welcome{background:linear-gradient(135deg,#fff,#ffe9f2);border:1px solid #ffd3e3;border-radius:14px;padding:10px 10px 12px;margin-bottom:8px}
.chat-welcome-title{font-size:14px;line-height:1.3;font-weight:700;color:#1f2937}
.chat-welcome-subtitle{font-size:12px;line-height:1.3;color:#475569;margin-top:4px;margin-bottom:8px}
.chat-quick{display:flex;flex-wrap:wrap;gap:6px}
.chat-quick-btn{border:0;border-radius:999px;padding:6px 10px;font-size:12px;line-height:1;background:linear-gradient(135deg,#22d3ee,#3b82f6);color:#fff;cursor:pointer;box-shadow:0 4px 10px rgba(59,130,246,.25)}
.chat-quick-btn:nth-child(2){background:linear-gradient(135deg,#f472b6,#ec4899)}
.chat-quick-btn:nth-child(3){background:linear-gradient(135deg,#f59e0b,#ef4444)}
.chat-quick-btn:hover{filter:brightness(1.05)}
.chat-row{display:flex;align-items:flex-end;gap:8px}
.chat-row-me{justify-content:flex-end}
.chat-row-bot{justify-content:flex-start;align-items:flex-start}
.chat-avatar{width:28px;height:28px;border-radius:999px;object-fit:cover;flex:0 0 28px;background:#d1d5db}
.chat-bubble{padding:8px 10px;border-radius:12px;margin:6px 0;max-width:85%;white-space:pre-wrap;word-break:break-word;font-size:14px}
.chat-bubble-typing{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:28px}
.chat-spinner{width:14px;height:14px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;animation:chat-spin .8s linear infinite}
@keyframes chat-spin{to{transform:rotate(360deg)}}
.chat-me{margin-left:auto;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 6px 14px rgba(37,99,235,.25)}
.chat-bot{margin-right:auto;background:#fff;color:#111827;border:1px solid #e5e7eb}
.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid #e5e7eb;background:#fff}
#chat-input{flex:1;border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;outline:none}
.chat-form button{border:0;background:linear-gradient(135deg,#1d4ed8,#0f172a);color:#fff;padding:8px 12px;border-radius:10px;cursor:pointer}
.chat-bubble a{color:inherit;text-decoration:underline}
.chat-bot a{color:#1d4ed8;display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere}
@keyframes chat-fab-pulse{0%,100%{box-shadow:0 14px 32px rgba(255,61,61,.38)}50%{box-shadow:0 16px 36px rgba(255,61,61,.58)}}
@keyframes chat-fab-shine{100%{transform:translateX(120%)}}
@keyframes chat-fab-caret{50%{border-right-color:transparent}}
@media (max-width:540px){
  #chat-widget{right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
  #chat-fab{width:236px;max-width:calc(100vw - 20px);height:58px;padding:7px 10px 7px 8px}
  .chat-fab-icon{width:36px;height:36px;flex-basis:36px;font-size:18px}
  .chat-fab-typing{max-width:190px;font-size:13px}
  #chat-panel{bottom:64px;max-width:calc(100vw - 24px);max-height:calc(100vh - 92px)}
  #chat-widget.chat-open #chat-panel{bottom:0}
}
