:root {
    --bastelia-agent-blue: #0b6fa4;
    --bastelia-agent-blue-dark: #094c72;
    --bastelia-agent-blue-soft: #dceef8;
    --bastelia-agent-surface: #eef3f7;
    --bastelia-agent-line: #d9e4ec;
    --bastelia-agent-ink: #1f2937;
    --bastelia-agent-shadow: 0 18px 44px rgba(15, 23, 42, 0.20);
}
#bastelia-agent-launchers,
#bastelia-agent-launchers *,
#bastelia-agent-container,
#bastelia-agent-container * { box-sizing: border-box; }
#bastelia-agent-launchers {
    position: fixed; right: 20px; bottom: 20px; z-index: 2147483647;
    display: flex; flex-direction: column; align-items: flex-end; gap: 10px; font-family: inherit;
}
#bastelia-agent-toggle {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-width: 160px; height: 52px; padding: 0 18px; border: 0; border-radius: 999px;
    background: linear-gradient(135deg, var(--bastelia-agent-blue), var(--bastelia-agent-blue-dark));
    color: #fff; font: inherit; font-size: 16px; font-weight: 600; line-height: 1;
    box-shadow: 0 12px 28px rgba(11,111,164,.34); cursor: pointer; -webkit-appearance: none; appearance: none;
}
#bastelia-agent-whatsapp-link {
    display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px;
    border-radius: 999px; background: #25D366; color: #fff; border: 0;
    box-shadow: 0 12px 28px rgba(37,211,102,.38); text-decoration: none; overflow: hidden;
}
.bastelia-agent-whatsapp-logo { display:block; width:44px; height:44px; flex:0 0 44px; }
#bastelia-agent-toggle:hover,
#bastelia-agent-whatsapp-link:hover { transform: translateY(-1px) scale(1.03); }
#bastelia-agent-toggle:focus-visible,
#bastelia-agent-whatsapp-link:focus-visible,
.bastelia-agent-chat-send:focus-visible,
.bastelia-agent-chat-input:focus-visible { outline: 3px solid rgba(37,211,102,.24); outline-offset: 2px; }
#bastelia-agent-container {
    position: fixed; right: 20px; bottom: 136px; z-index: 2147483646; width: min(390px, calc(100vw - 28px));
    height: min(640px, calc(100vh - 170px)); display: none; border: 1px solid rgba(11,111,164,.12);
    border-radius: 22px; background: #fff; box-shadow: var(--bastelia-agent-shadow); overflow: hidden; font-family: inherit;
}
.bastelia-agent-chat-shell { width:100%; height:100%; display:flex; flex-direction:column; }
.bastelia-agent-chat-header { padding:14px 16px; background:linear-gradient(135deg,var(--bastelia-agent-blue),var(--bastelia-agent-blue-dark)); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bastelia-agent-chat-header-main { min-width:0; flex:1; }
.bastelia-agent-chat-title { font-size:18px; font-weight:700; line-height:1.1; }
.bastelia-agent-chat-subtitle { font-size:12px; opacity:.9; margin-top:2px; line-height:1.35; }
.bastelia-agent-chat-close { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; flex:0 0 42px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.18); color:#fff; font:inherit; font-size:28px; line-height:1; cursor:pointer; -webkit-appearance:none; appearance:none; text-align:center; }
.bastelia-agent-chat-close:hover { background:rgba(255,255,255,.24); }
.bastelia-agent-chat-close:focus-visible { outline:3px solid rgba(255,255,255,.35); outline-offset:2px; }
.bastelia-agent-chat-messages { flex:1; overflow-y:auto; padding:16px 14px 22px; background:var(--bastelia-agent-surface); }
.bastelia-agent-chat-row { display:flex; margin-bottom:12px; }
.bastelia-agent-chat-row.user { justify-content:flex-end; }
.bastelia-agent-chat-row.bot { justify-content:flex-start; }
.bastelia-agent-chat-bubble { max-width:84%; padding:11px 13px; border-radius:18px; font-size:14px; line-height:1.45; white-space:pre-wrap; word-break:break-word; box-shadow:0 2px 8px rgba(15,23,42,.06); color:var(--bastelia-agent-ink); }
.bastelia-agent-chat-row.bot .bastelia-agent-chat-bubble { background:#fff; border-top-left-radius:6px; }
.bastelia-agent-chat-row.user .bastelia-agent-chat-bubble { background:var(--bastelia-agent-blue-soft); color:#08334d; border-top-right-radius:6px; }
.bastelia-agent-typing-bubble { display:inline-flex; align-items:center; gap:5px; min-width:56px; }
.bastelia-agent-typing-dot { width:8px; height:8px; border-radius:999px; background:#9aa7b4; opacity:.35; animation:basteliaAgentTypingDots 1.2s infinite ease-in-out; }
.bastelia-agent-typing-dot:nth-child(2) { animation-delay:.15s; }
.bastelia-agent-typing-dot:nth-child(3) { animation-delay:.3s; }
@keyframes basteliaAgentTypingDots {
    0%, 80%, 100% { transform: translateY(0); opacity: .35; }
    40% { transform: translateY(-3px); opacity: 1; }
}
.bastelia-agent-chat-footer { padding:10px 12px 12px; border-top:1px solid var(--bastelia-agent-line); background:#fff; }
.bastelia-agent-chat-input-row { display:flex; gap:8px; align-items:center; }
.bastelia-agent-chat-input { flex:1; min-width:0; padding:12px 14px; border:1px solid var(--bastelia-agent-line); border-radius:999px; outline:none; font:inherit; font-size:14px; color:var(--bastelia-agent-ink); }
.bastelia-agent-chat-send { padding:11px 16px; border:0; border-radius:999px; background:linear-gradient(135deg,var(--bastelia-agent-blue),var(--bastelia-agent-blue-dark)); color:#fff; font:inherit; font-size:13px; font-weight:700; cursor:pointer; -webkit-appearance:none; appearance:none; }
.bastelia-agent-chat-send:disabled,
.bastelia-agent-chat-input:disabled { opacity:.65; cursor:not-allowed; }
@media (max-width: 640px) {
    #bastelia-agent-launchers { right:12px; bottom:12px; }
    #bastelia-agent-container { right:12px; left:12px; width:auto; height:min(72vh,620px); bottom:126px; }
    #bastelia-agent-toggle { min-width:148px; height:50px; padding:0 16px; font-size:15px; }
    #bastelia-agent-whatsapp-link { width:58px; height:58px; }
    .bastelia-agent-whatsapp-logo { width:42px; height:42px; }
}

