.custom-body {
  background-color: #343a40;
  color: white;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.custom-header {
  color: white;
  font-size: 2rem;
}

.custom-divider {
  border: 1px solid white;
}

.custom-chatbox {
  background-color: #212529;
  padding: 1rem;
  border-radius: 8px;
  height: calc(100vh - 200px); 
  overflow-y: auto;
}

.custom-footer {
  background-color: #212529;
}

.custom-input {
  background-color: #495057;
  color: white;
  border: none;
  padding: 0.75rem;
  border-radius: 25px;
}

.custom-input:focus {
  outline: none;
  box-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
}

.custom-button {
  background-color: #0d6efd;
  border: none;
  color: white;
  padding: 0.75rem 1rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.custom-button:hover {
  background-color: #0056b3;
  cursor: pointer;
}

img {
  object-fit: cover;
}

.bot {
  background-image: url('../../../../assets/img/bot.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.user {
  background-image: url('../../../../assets/img/user.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
/* Neon Text Effect */
@keyframes neonPulse {
0% { text-shadow: 0 0 7px #fff, 0 0 10px #fff, 0 0 21px #fff, 0 0 42px #0fa, 0 0 82px #0fa, 0 0 92px #0fa; }
50% { text-shadow: 0 0 5px #fff, 0 0 8px #fff, 0 0 18px #fff, 0 0 35px #0fa, 0 0 75px #0fa, 0 0 85px #0fa; }
100% { text-shadow: 0 0 7px #fff, 0 0 10px #fff, 0 0 21px #fff, 0 0 42px #0fa, 0 0 82px #0fa, 0 0 92px #0fa; }
}

/* Message Animation */
@keyframes slideIn {
from { transform: translateY(20px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}

@keyframes typingBounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-2px); }
}

.custom-body {
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
color: white;
height: 100vh;
display: flex;
flex-direction: column;
}

.custom-header {
color: #fff;
font-size: 2.5rem;
font-weight: bold;
animation: neonPulse 1.5s infinite;
margin: 1rem 0;
}

.custom-divider {
border: none;
height: 2px;
background: linear-gradient(90deg, transparent, #0fa, transparent);
margin: 1rem 0;
}

.custom-chatbox {
background: rgba(33, 37, 41, 0.95);
padding: 1.5rem;
border-radius: 15px;
height: calc(100vh - 200px);
overflow-y: auto;
box-shadow: 0 0 20px rgba(0, 255, 170, 0.1);
scrollbar-width: thin;
scrollbar-color: #0fa #212529;
}

.custom-chatbox::-webkit-scrollbar {
width: 8px;
}

.custom-chatbox::-webkit-scrollbar-track {
background: #212529;
}

.custom-chatbox::-webkit-scrollbar-thumb {
background: #0fa;
border-radius: 4px;
}

.d-flex {
animation: slideIn 0.3s ease-out;
margin-bottom: 1rem;
}

.rounded-3 {
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.1);
transition: transform 0.2s ease;
}

.rounded-3:hover {
transform: translateY(-2px);
}

.bg-secondary {
background: linear-gradient(135deg, #0056b3, #0fa) !important;
box-shadow: 0 4px 15px rgba(0, 255, 170, 0.2);
}

.bg-white {
background: rgba(255, 255, 255, 0.9) !important;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.custom-footer {
background: rgba(33, 37, 41, 0.95);
backdrop-filter: blur(10px);
border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.custom-input {
background: rgba(73, 80, 87, 0.7);
color: white;
border: 2px solid transparent;
padding: 1rem 1.5rem;
border-radius: 25px;
transition: all 0.3s ease;
font-size: 1rem;
}

.custom-input:focus {
outline: none;
border-color: #0fa;
box-shadow: 0 0 15px rgba(0, 255, 170, 0.3);
background: rgba(73, 80, 87, 0.9);
}

.custom-button {
background: linear-gradient(135deg, #0056b3, #0fa);
border: none;
color: white;
padding: 1rem;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
box-shadow: 0 0 15px rgba(0, 255, 170, 0.3);
}

.custom-button:hover {
transform: scale(1.1);
box-shadow: 0 0 20px rgba(0, 255, 170, 0.5);
cursor: pointer;
}

.typing-animation {
display: flex;
gap: 4px;
padding: 4px 8px;
}

.typing-dot {
width: 8px;
height: 8px;
background: #0fa;
border-radius: 50%;
animation: typingBounce 1s infinite;
}

.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }

.bot, .user {
border: 2px solid #0fa;
box-shadow: 0 0 10px rgba(0, 255, 170, 0.3);
transition: transform 0.3s ease;
}

.bot:hover, .user:hover {
transform: scale(1.1);
}