.oa-chatbot{position:fixed;right:var(--oa-right,24px);bottom:var(--oa-bottom,90px);z-index:2147483000;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* Launcher button */
.oa-launcher{position:relative;border:0;background:var(--oa-brand);color:#fff !important;border-radius:999px;padding:15px 20px 15px 16px;box-shadow:0 14px 34px rgba(0,0,0,.24);font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.2px;transition:transform .22s ease,box-shadow .22s ease;animation:oa-pop .5s cubic-bezier(.34,1.56,.64,1) both}
.oa-launcher:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px rgba(0,0,0,.3);color:#fff !important;background:var(--oa-brand) !important}
.oa-launcher:active{transform:translateY(0) scale(.97)}
.oa-launcher .oa-icon{width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
.oa-launcher .oa-icon svg{width:100%;height:100%}
.oa-launcher span{color:#fff !important}

/* Pulsing ring to draw attention, added/removed via JS */
.oa-launcher.oa-pulse::before{content:"";position:absolute;inset:0;border-radius:999px;background:var(--oa-brand);opacity:.55;animation:oa-ring 1.8s ease-out infinite;pointer-events:none}

@keyframes oa-pop{0%{opacity:0;transform:translateY(18px) scale(.85)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes oa-ring{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.55);opacity:0}}

.oa-panel{display:none;width:365px;height:620px;background:#fff;border:1px solid #eee;border-radius:22px;box-shadow:0 20px 70px rgba(0,0,0,.25);overflow:hidden;flex-direction:column;transform-origin:bottom right;animation:oa-open .28s cubic-bezier(.2,.9,.3,1.2) both}
.oa-chatbot.open .oa-panel{display:flex}
.oa-chatbot.open .oa-launcher{display:none}
@keyframes oa-open{0%{opacity:0;transform:translateY(16px) scale(.94)}100%{opacity:1;transform:translateY(0) scale(1)}}

.oa-header{background:var(--oa-brand);color:#fff;padding:17px 18px;display:flex;justify-content:space-between;align-items:center}
.oa-header strong{display:block;font-size:16px;color:#fff}
.oa-header small{display:block;opacity:.75;font-size:11px;margin-top:3px;color:#fff}
.oa-close{border:0;background:transparent;color:#fff !important;font-size:28px;cursor:pointer;transition:transform .15s ease;line-height:1}
.oa-close:hover{transform:rotate(90deg);color:#fff !important;background:transparent !important}
.oa-messages{flex:1;overflow:auto;padding:16px;background:#f7f7f8}
.oa-msg{max-width:84%;padding:10px 12px;border-radius:15px;margin:0 0 9px;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;animation:oa-msg-in .18s ease both}
@keyframes oa-msg-in{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
.oa-msg.assistant{background:#fff;border:1px solid #e9e9ec;border-bottom-left-radius:5px;color:#1a1a1a}
.oa-msg.user{margin-left:auto;background:var(--oa-brand);color:#fff !important;border-bottom-right-radius:5px}

/* WhatsApp-style animated typing indicator */
.oa-typing-bubble{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid #e9e9ec;border-bottom-left-radius:5px;padding:12px 14px;border-radius:15px;margin:0 0 9px}
.oa-typing-bubble span{width:7px;height:7px;border-radius:50%;background:#b7b7bd;display:inline-block;animation:oa-dot 1.1s infinite ease-in-out}
.oa-typing-bubble span:nth-child(2){animation-delay:.15s}
.oa-typing-bubble span:nth-child(3){animation-delay:.3s}
@keyframes oa-dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

.oa-quick{padding:9px 10px 2px;display:flex;gap:6px;overflow:auto;border-top:1px solid #eee}
.oa-quick button{white-space:nowrap;border:1px solid #ddd;background:#fff !important;color:#222 !important;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.oa-quick button:hover{background:#eee !important;border-color:#ccc;color:#111 !important}
.oa-input-row{display:flex;gap:7px;padding:9px 10px;border-top:1px solid #eee}
.oa-input{min-width:0;flex:1;border:1px solid #ddd;border-radius:12px;padding:11px;font-size:13px;outline:none;transition:border-color .15s ease;color:#1a1a1a;background:#fff}
.oa-input:focus{border-color:var(--oa-brand)}
.oa-send{width:42px;border:0;border-radius:12px;background:var(--oa-brand);color:#fff !important;cursor:pointer;font-size:17px;transition:transform .12s ease,opacity .12s ease}
.oa-send:hover{transform:scale(1.06);color:#fff !important;background:var(--oa-brand) !important}
.oa-send:disabled{opacity:.5;cursor:default;transform:none}
.oa-quote-toggle{margin:0 10px 8px;border:1px solid #ddd;background:#fff !important;color:#111 !important;border-radius:11px;padding:9px;font-weight:700;font-size:12px;cursor:pointer;transition:background .15s ease}
.oa-quote-toggle:hover{background:#eee !important;color:#111 !important}
.oa-lead-box{padding:10px;background:#fafafa;border-top:1px solid #eee;max-height:270px;overflow:auto}
.oa-lead-title{font-weight:700;font-size:13px;margin-bottom:7px;color:#111}
.oa-lead-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.oa-lead-form input,.oa-lead-form select,.oa-lead-form textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:9px;padding:8px;font-size:11px;background:#fff;color:#1a1a1a}
.oa-lead-form textarea,.oa-lead-form button,.oa-lead-status{grid-column:1/-1}
.oa-lead-form button{border:0;border-radius:9px;background:var(--oa-brand);color:#fff !important;padding:9px;font-weight:700;cursor:pointer}
.oa-lead-form button:hover{background:var(--oa-brand) !important;color:#fff !important;opacity:.92}
.oa-lead-status{font-size:11px;line-height:1.4;color:#333}
.oa-footer{text-align:center;color:#999;font-size:9px;padding:4px 0 8px}
@media(max-width:600px){.oa-chatbot{right:14px;bottom:calc(var(--oa-bottom,90px) - 20px)}.oa-panel{width:calc(100vw - 24px);height:min(650px,calc(100vh - 85px));border-radius:18px}.oa-launcher{padding:13px 17px 13px 14px}}
