body, body.bg-gradient {
  min-height: 100vh;
  color: #fff;
}

.logo-header, .logo {
  width: 120px;
  border-radius: 0px;
  box-shadow: 0 2px 12px rgba(223, 115, 225, 0.045);
}

.card-img-top {
  height: 170px;
  object-fit: cover;
}

.card {
  border-radius: 18px;
  background: rgba(35, 12, 42, 0.82);
  color: #fff;
  box-shadow: 0 4px 28px #0005;
  transition: transform 0.18s, box-shadow 0.18s;
}

.card:hover {
  transform: scale(1.04);
  box-shadow: 0 6px 36px #b66dff55;
}

.divider {
  color: #fff;
  margin: 20px 0 10px 0;
  font-weight: bold;
}

/* Login e input */
.login-container input[type="email"],
.login-container input[type="password"] {
  width: 100%;
  padding: 10px;
  margin: 8px 0;
  border-radius: 8px;
  border: none;
  font-size: 16px;
}
.login-container form {
  margin-top: 10px;
}
.register-link {
  margin-top: 10px;
}

/* Imagens em geral */
img {
  max-width: 100%;
  height: auto;
  display: block;
}
.avatar-img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #b66dff;
  margin-right: 8px;
}

/* Chat bubbles */
.msg-me   { background: #b66dff; color: #fff; align-self: flex-end;}
.msg-them { background: #222b; color: #fff;}
.chat-bubble {
  border-radius: 14px;
  padding: 10px 16px;
  margin-bottom: 6px;
  max-width: 70%;
  word-break: break-word;
  position: relative;
  z-index: 1;
}
.chat-box {
  min-height: 350px;
  max-height: 60vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  background: transparent; /* mantém o fundo de bolhas */
}
.chat-box > * { position: relative; z-index: 1; }

/* Botões */
.btn-primary, .btn-primary:active, .btn-primary:focus {
  background: #b66dff !important;
  border: none !important;
  color: #fff !important;
}
.btn-primary:hover {
  background: #924ee4 !important;
  color: #fff !important;
}
.btn-danger, .btn-danger:active, .btn-danger:focus {
  background: #e83e8c !important;
  border: none !important;
}
.btn-danger:hover {
  background: #c9306c !important;
}

/* Icebreaker (pedrinha de gelo animada) */
@keyframes pulse-ice {
  0%   { transform: scale(1);}
  50%  { transform: scale(1.18);}
  100% { transform: scale(1);}
}
@keyframes shine-ice {
  0%, 90%, 100% { filter: drop-shadow(0 1px 2px #b66dff44) brightness(1);}
  95% { filter: drop-shadow(0 1px 12px #fff) brightness(2);}
}
@keyframes shake-ice {
  0% { transform: translateX(0);}
  10% { transform: translateX(-2px);}
  20% { transform: translateX(2px);}
  30% { transform: translateX(-2px);}
  40% { transform: translateX(2px);}
  50% { transform: translateX(0);}
  100% { transform: translateX(0);}
}
.ice-animated {
  animation: pulse-ice 1.3s infinite, shine-ice 2.5s infinite, shake-ice 3.2s infinite;
  display: inline-block;
}

::-webkit-scrollbar {
  width: 10px;
  background: #eee2;
}
::-webkit-scrollbar-thumb {
  background: #b66dff88;
  border-radius: 8px;
}

.modal-users {
  background: rgba(20, 16, 30, 0.90);
  border-radius: 2.3rem;
  box-shadow: 0 6px 36px #b66dff55, 0 2px 18px #0004;
  padding: 2.4rem 1.6rem;
  margin-top: 32px;
  margin-bottom: 32px;
  max-width: 950px;
  width: 100%;
}

@media (max-width: 768px) {
  .modal-users {
    border-radius: 1.3rem;
    padding: 1.2rem .7rem;
  }
