/* ============================================================
   Assistente Mais Networking — mascote + balão de avisos
   ============================================================ */

.mn-assistant-wrap {
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  z-index: 2000;
  font-family: 'Inter', system-ui, sans-serif;
}

.mn-assistant-bubble {
  max-width: 230px;
  background: #fff;
  border-radius: 14px;
  padding: 12px 14px;
  box-shadow: 0 8px 24px rgba(20, 40, 70, .16);
  font-size: .78rem;
  line-height: 1.35;
  color: #2c3e50;
  position: relative;
  transform-origin: bottom right;
  animation: mn-bubble-in .22s ease-out;
}
.mn-assistant-bubble::after {
  content: '';
  position: absolute;
  bottom: -7px;
  right: 22px;
  width: 14px;
  height: 14px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: 3px 3px 6px rgba(20,40,70,.05);
}
@keyframes mn-bubble-in {
  from { opacity: 0; transform: scale(.85) translateY(6px); }
  to   { opacity: 1; transform: scale(1) translateY(0); }
}
.mn-assistant-bubble-title {
  font-weight: 700;
  font-size: .72rem;
  color: var(--primary, #0076b2);
  margin-bottom: 3px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.mn-assistant-bubble-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.mn-assistant-bubble-actions button {
  border: none;
  background: none;
  font-size: .72rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}
.mn-bubble-btn-primary { color: var(--primary, #0076b2); }
.mn-bubble-btn-muted { color: #9aa7b4; }

.mn-assistant {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--primary, #0076b2), #005a8a);
  box-shadow: 0 6px 18px rgba(0, 90, 138, .35);
  position: relative;
  cursor: pointer;
  animation: mn-float 3.4s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes mn-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-5px); }
}
.mn-assistant.mn-talking { animation: mn-float 3.4s ease-in-out infinite, mn-wobble .32s ease-in-out infinite; }
@keyframes mn-wobble {
  0%, 100% { transform: rotate(0deg); }
  50%      { transform: rotate(-3deg); }
}

.mn-assistant-face {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.mn-eye {
  fill: #fff;
  stroke: #005a8a;
  stroke-width: 1.2;
  transition: all .18s ease;
}
.mn-mouth {
  fill: none;
  stroke: #fff;
  stroke-width: 5.5;
  stroke-linecap: round;
  filter: drop-shadow(0 1px 1px rgba(0,40,70,.25));
  transition: all .18s ease;
}

.mn-assistant--atento .mn-eye { transform: scale(1.12); }
.mn-assistant--alerta .mn-eye { transform: translateY(-1px) scale(1.05); }
.mn-assistant--preocupado .mn-eye-left,
.mn-assistant--preocupado .mn-eye-right { transform: translateY(1px) scaleY(.8); }
.mn-assistant--pensar .mn-eye-right { transform: scaleY(.15); }
.mn-assistant--triste .mn-eye-left,
.mn-assistant--triste .mn-eye-right { transform: translateY(2px) scaleY(.85); }
.mn-assistant--triste { filter: saturate(.8); }
.mn-assistant--contente .mn-eye-left,
.mn-assistant--contente .mn-eye-right { transform: translateY(-1px); }

.mn-thinking-dots {
  position: absolute;
  top: -6px;
  right: -4px;
  display: none;
  gap: 2px;
}
.mn-assistant--pensar .mn-thinking-dots { display: flex; }
.mn-thinking-dots span {
  width: 4px; height: 4px; border-radius: 50%;
  background: #005a8a;
  opacity: .5;
  animation: mn-dot-pulse 1s infinite;
}
.mn-thinking-dots span:nth-child(2) { animation-delay: .15s; }
.mn-thinking-dots span:nth-child(3) { animation-delay: .3s; }
@keyframes mn-dot-pulse { 0%,100%{opacity:.3;} 50%{opacity:1;} }

@media (max-width: 576px) {
  .mn-assistant-wrap { right: 12px; bottom: 78px; }
  .mn-assistant-bubble { max-width: 190px; }
}
