	/* Botão assistente IA */
	#voiceButton {
	  position: fixed;
	  bottom: 24px;
	  right: 24px;
	  width: 66px;
	  height: 66px;
	  font-size: 32px;
	  background: #00D4D4;
	  border: none;
	  border-radius: 50%;
	  color: #fff;
	  cursor: pointer;
	  outline: none;
	  display: flex;
	  opacity: 0;
	  align-items: center;
	  justify-content: center;
	  z-index: 3;
	  box-shadow:
		inset -5px -5px 14px rgba(30, 20, 100, 0.35),
		inset 6px 6px 18px rgba(0, 250, 255, 0.25),
		0 10px 22px rgba(0, 200, 255, 0.45),
		0 0 14px rgba(120, 80, 255, 0.35);
	  transition:
		box-shadow 0.25s ease,
		transform 0.25s ease,
		bottom 0.3s ease-in-out 1.2s;
	  animation: floatIn 0.6s ease-out 3.5s forwards;
	}

	@keyframes floatIn {
	  from {
		transform: translateY(20px);
		opacity: 0;
	  }
	  to {
		transform: translateY(0);
		opacity: 1;
	  }
	}

	#voiceButton:hover {
	  transform: translateY(-3px);
	  box-shadow:
		inset -4px -4px 12px rgba(40, 30, 120, 0.4),
		inset 5px 5px 16px rgba(0, 255, 255, 0.3),
		0 8px 20px rgba(0, 210, 255, 0.4),
		0 0 18px rgba(120, 80, 255, 0.5);
	}

	#voiceButton.active {
	  width: 44px;
	  height: 44px;
	  font-size: 18px;
	  background: #D50005;
	  bottom: calc(24px + (66px - 44px)/2);
	  right: calc(24px + (66px - 44px)/2);
	  box-shadow: 0 3px 10px rgba(255, 60, 88, 0.4), 0 2px 4px rgba(0, 0, 0, 0.3);
	}

	#voiceButton.active.slideDown { bottom: -90px; }

	#voiceButton.active,
	#voiceButton.active.slideDown {
	  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}

	#voiceButton.active:hover {
	  box-shadow: 
		0 2px 8px rgba(255, 60, 88, 0.4), 
		0 1px 4px rgba(0, 0, 0, 0.3), 
		inset 0 0 20px rgba(0, 0, 0, 0.25);
	}

	/* Animação ring */
	#voiceButton::after {
	  content: '';
	  position: absolute;
	  width: 88px;
	  height: 88px;
	  border: 2px solid rgba(0, 199, 204, 0.45);
	  border-radius: 50%;
	  opacity: 0;
	  pointer-events: none;
	  animation: pulseRing 2.8s ease-out infinite;
	  z-index: -1;
	}

	@keyframes pulseRing {
	  0%   { transform: scale(0.9); opacity: 0.8; }
	  40%  { transform: scale(1.4); opacity: 0; }
	  100% { transform: scale(1.4); opacity: 0; }
	}

	#voiceButton.active::after { animation: none; }

	/* Balão de notificação IA */
	#responseBox {
	  position: fixed;
	  bottom: -90px;
	  right: 27px;
	  display: flex;
	  align-items: center;
	  gap: 10px;
	  background: rgba(255, 255, 255, 0.09);
	  backdrop-filter: blur(10px);
	  padding: 0 62px 0 14px;
	  font-family: 'Roboto Condensed', sans-serif;
	  font-size: 16.5px;
	  color: #B4B4B4;
	  border-left: 4px solid #00ffe7;
	  border-radius: 14px;
	  box-shadow: 0 4px 18px rgba(0, 255, 231, 0.2), 0 2px 6px rgba(0, 0, 0, 0.3);
	  height: 62px;
	  min-width: 240px;
	  z-index: 3;
	  box-sizing: border-box;
	  border-right: 2px solid rgba(255, 255, 255, 0.1);
	  border-top: 2px solid rgba(255, 255, 255, 0.06);
	  border-bottom: 2px solid rgba(255, 255, 255, 0.06);
	  transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}

	#responseBox.visible { bottom: 26px; }

	/* Texto */
	#textoBox {
	  flex: 1;
	  margin: 0;
	  line-height: 1.2;
	}

	/* Ícone de notificação */
	#responseIcon {
	  font-size: 20px;
	  width: 24px;
	  height: 22px;
	  text-align: center;
	  background: linear-gradient(45deg, #00ffe7, #0078d7);
	  -webkit-background-clip: text;
	  -webkit-text-fill-color: transparent;
	  margin-right: 4px;
	  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}

	@media screen and (max-width: 767px) {
		/* Estilos para smartphones */
		#responseBox {
		  right: 21px;
		  max-width: calc(100% - 40px);
		}

		#responseBox.visible { bottom: 20px; }

		#voiceButton {
		  bottom: 20px;
		  right: 20px;
		  width: 62px;
		  height: 62px;
		}

	    #voiceButton.active {
		  bottom: calc(20px + (62px - 44px)/2);
		  right: calc(20px + (62px - 44px)/2);
	    }
	}
