body { 
    font-family: 'Inter', sans-serif; 
}

.loader { 
    border: 4px solid #f3f3f3; 
    border-top: 4px solid #3498db; 
    border-radius: 50%; 
    width: 30px; 
    height: 30px; 
    animation: spin 1s linear infinite; 
}

@keyframes spin { 
    0% { transform: rotate(0deg); } 
    100% { transform: rotate(360deg); } 
}

#messages-container::-webkit-scrollbar, .sidebar-content::-webkit-scrollbar { 
    width: 6px; 
}

#messages-container::-webkit-scrollbar-track, .sidebar-content::-webkit-scrollbar-track { 
    background: transparent; 
}

#messages-container::-webkit-scrollbar-thumb, .sidebar-content::-webkit-scrollbar-thumb { 
    background: #d1d5db; 
    border-radius: 3px; 
}

#messages-container::-webkit-scrollbar-thumb:hover, .sidebar-content::-webkit-scrollbar-thumb:hover { 
    background: #9ca3af; 
}

.tab-active { 
    border-bottom-color: #3b82f6; 
    color: #3b82f6; 
}

.dark .tab-active { 
    border-bottom-color: #60a5fa; 
    color: #60a5fa; 
}

@keyframes fadeIn { 
    from { opacity: 0; transform: translateY(10px); } 
    to { opacity: 1; transform: translateY(0); } 
}

.message-fade-in { 
    animation: fadeIn 0.3s ease-out forwards; 
}

.dot { 
    transition: transform 0.3s ease-in-out; 
}

#theme-toggle:checked + div { 
    background-color: #4f46e5; 
}

#theme-toggle:checked + div .dot { 
    transform: translateX(16px); 
}
