/* ==========================================================================
   Oxton — Assistente Oxton (chatbot institucional flutuante)
   ========================================================================== */
:root{
  --cb-primary:#3335d8; --cb-primary-soft:#eef0ff; --cb-dark:#101223;
  --cb-text:#1f2937; --cb-muted:#6b7280; --cb-border:#e5e7eb; --cb-bg:#f6f8fc; --cb-success:#16a34a;
}
.oxton-chatbot{position:fixed;right:24px;bottom:24px;z-index:9990;font-family:inherit}

/* Botão flutuante */
.oxton-chatbot-toggle{
  min-width:60px;height:56px;padding:0 20px;border:0;border-radius:999px;background:var(--cb-primary);
  color:#fff;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;font-family:inherit;
  box-shadow:0 18px 42px rgba(51,53,216,.28);cursor:pointer;transition:transform .15s,background .15s;
}
.oxton-chatbot-toggle:hover{background:#262aa8;transform:translateY(-2px)}
.oxton-chatbot-toggle-icon{display:inline-flex}
.oxton-chatbot.is-open .oxton-chatbot-toggle{transform:scale(.92);opacity:.92}

/* Painel */
.oxton-chatbot-panel{
  position:absolute;right:0;bottom:72px;width:390px;max-width:calc(100vw - 24px);
  height:600px;max-height:calc(100vh - 120px);background:#fff;border:1px solid var(--cb-border);
  border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(16,18,35,.22);
  display:flex;flex-direction:column;animation:cbPop .2s ease;
}
@keyframes cbPop{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.oxton-chatbot-panel[hidden]{display:none !important}

/* Header */
.oxton-chatbot-header{padding:16px 18px;background:linear-gradient(135deg,#101223,#3335d8);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.oxton-chatbot-headinfo{display:flex;align-items:center;gap:11px}
.oxton-chatbot-avatar{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;letter-spacing:.04em}
.oxton-chatbot-title{font-size:15.5px;font-weight:700;margin:0;line-height:1.1;color:#fff}
.oxton-chatbot-header *::selection{background:rgba(255,255,255,.35);color:#101223}
.oxton-chatbot-subtitle{font-size:11.5px;opacity:.85;margin-top:3px;display:flex;align-items:center;gap:6px}
.oxton-chatbot-dot{width:7px;height:7px;border-radius:50%;background:#34d399;display:inline-block}
.oxton-chatbot-close{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:9px;width:32px;height:32px;cursor:pointer;font-size:20px;line-height:1}
.oxton-chatbot-close:hover{background:rgba(255,255,255,.26)}

/* Body */
.oxton-chatbot-body{flex:1;padding:18px;overflow-y:auto;background:var(--cb-bg)}
.oxton-chatbot-message{max-width:88%;margin-bottom:12px;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.55;animation:cbMsg .18s ease}
@keyframes cbMsg{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.oxton-chatbot-message-bot{background:#fff;border:1px solid var(--cb-border);color:var(--cb-text);border-top-left-radius:6px}
.oxton-chatbot-message-user{margin-left:auto;background:var(--cb-primary);color:#fff;border-top-right-radius:6px}
.oxton-chatbot-message-bot strong{color:#111827}

/* Ações rápidas */
.oxton-chatbot-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.oxton-chatbot-action{border:1px solid #dbe1ff;background:#fff;color:var(--cb-primary);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s}
.oxton-chatbot-action:hover{background:var(--cb-primary-soft)}

/* Links de resposta */
.oxton-chatbot-links{display:grid;gap:8px;margin-top:10px}
.oxton-chatbot-link{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:11px;background:var(--cb-primary-soft);color:var(--cb-primary);font-size:13px;font-weight:700;text-decoration:none}
.oxton-chatbot-link:hover{background:#dde3ff}
.oxton-chatbot-link span{opacity:.7}

/* Input */
.oxton-chatbot-inputbar{padding:12px 14px;border-top:1px solid var(--cb-border);background:#fff;display:flex;gap:10px}
.oxton-chatbot-inputbar input{flex:1;border:1px solid var(--cb-border);border-radius:13px;padding:0 14px;min-height:42px;outline:none;font:inherit;font-size:14px;background:#fff}
.oxton-chatbot-inputbar input:focus{border-color:var(--cb-primary);box-shadow:0 0 0 3px rgba(51,53,216,.12)}
.oxton-chatbot-inputbar button{border:0;border-radius:13px;background:var(--cb-primary);color:#fff;padding:0 15px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.oxton-chatbot-inputbar button:hover{background:#262aa8}

/* Footer */
.oxton-chatbot-footer{padding:9px 14px;border-top:1px solid var(--cb-border);background:#fff;font-size:11px;color:var(--cb-muted);text-align:center}
.oxton-chatbot-footer a{color:var(--cb-primary);font-weight:700;text-decoration:none}

/* Mobile */
@media (max-width:640px){
  .oxton-chatbot{right:12px;bottom:12px}
  .oxton-chatbot-panel{position:fixed;right:12px;left:12px;bottom:80px;width:auto;height:min(600px,calc(100vh - 110px));max-width:none}
  .oxton-chatbot-toggle{height:52px}
  .oxton-chatbot-toggle-text{display:none}
  .oxton-chatbot-toggle{min-width:52px;width:52px;padding:0;justify-content:center}
}
