/* Custom animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn {
    from { transform: translateY(-10px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* Custom utility classes */
.animate-fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

.animate-slide-in {
    animation: slideIn 0.3s ease-in-out;
}

/* Custom transitions */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* Toast notifications */
.toast {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    animation: slideIn 0.3s ease-out;
    z-index: 50;
}

/* Form validation states */
.input-error {
    border-color: rgb(239, 68, 68);
    box-shadow: 0 0 0 1px rgb(239, 68, 68);
}

.input-success {
    border-color: rgb(34, 197, 94);
    box-shadow: 0 0 0 1px rgb(34, 197, 94);
}

/* Loading states */
.loading {
    position: relative;
}

.loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Participant list animations */
.participant-entry {
    transition: all 0.3s ease-in-out;
}

.participant-entry.removing {
    transform: translateX(100%);
    opacity: 0;
}

/* Modal animations */
.modal-backdrop {
    transition: opacity 0.3s ease-in-out;
}

.modal-content {
    transition: transform 0.3s ease-in-out;
}

.modal-entering {
    opacity: 0;
    transform: scale(0.95);
}

.modal-entered {
    opacity: 1;
    transform: scale(1);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}
/* Theme system (dark by default) */
body {
    transition: background-color 0.2s ease, color 0.2s ease;
}

html[data-theme="dark"] {
    color-scheme: dark;
}

html[data-theme="dark"] body {
    background-color: #030712;
    color: #f3f4f6;
}

html[data-theme="dark"] .bg-white {
    background-color: #111827 !important;
}

html[data-theme="dark"] .bg-gray-50 {
    background-color: #1f2937 !important;
}

html[data-theme="dark"] .bg-gray-100 {
    background-color: #030712 !important;
}

html[data-theme="dark"] .text-gray-900 {
    color: #f9fafb !important;
}

html[data-theme="dark"] .text-gray-800 {
    color: #f3f4f6 !important;
}

html[data-theme="dark"] .text-gray-700,
html[data-theme="dark"] .text-gray-600 {
    color: #d1d5db !important;
}

html[data-theme="dark"] .text-gray-500,
html[data-theme="dark"] .text-gray-400 {
    color: #9ca3af !important;
}

html[data-theme="dark"] .border,
html[data-theme="dark"] .border-gray-200,
html[data-theme="dark"] .border-gray-300 {
    border-color: #374151 !important;
}

html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
    background-color: #111827 !important;
    color: #f9fafb !important;
    border-color: #374151 !important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: #9ca3af;
}

html[data-theme="dark"] .hover\:bg-gray-50:hover {
    background-color: #1f2937 !important;
}

html[data-theme="dark"] .hover\:text-gray-800:hover {
    color: #f9fafb !important;
}

html[data-theme="dark"] .bg-red-100 {
    background-color: #7f1d1d !important;
}

html[data-theme="dark"] .text-red-700 {
    color: #fecaca !important;
}

html[data-theme="dark"] .bg-green-100 {
    background-color: #14532d !important;
}

html[data-theme="dark"] .text-green-700 {
    color: #bbf7d0 !important;
}

html[data-theme="dark"] ::-webkit-scrollbar-track {
    background: #111827;
}

html[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: #4b5563;
}

html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #6b7280;
}
