/* Basis & Transitionen */
body {
    transition: background-color 0.3s, color 0.3s;
}

/* Dark Mode */
body.dark {
    background-color: #0f172a !important;
    color: #f8fafc !important;
}
body.dark .bg-white {
    background-color: #1e293b !important;
    color: #f8fafc !important;
}
body.dark .bg-gradient-to-br {
    background: linear-gradient(to bottom right, #0f172a, #1e1b4b) !important;
}
body.dark .text-gray-900, body.dark .text-gray-800, body.dark .text-gray-700 {
    color: #f8fafc !important;
}
body.dark .text-gray-600, body.dark .text-gray-500 {
    color: #cbd5e1 !important;
}
body.dark .bg-blue-50, body.dark .bg-green-50, body.dark .bg-red-50, body.dark .bg-purple-50, body.dark .bg-gray-50, body.dark .bg-gray-100 {
    background-color: #334155 !important;
}
body.dark input, body.dark select {
    background-color: #334155 !important;
    color: #ffffff !important;
    border-color: #475569 !important;
}

/* Toast Benachrichtigungen (Ersatz für hässliche Browser-Alerts) */
#toastContainer {
    position: fixed;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    pointer-events: none;
    width: 90%;
    max-width: 400px;
}

.toast-msg {
    background-color: #1e293b;
    color: #ffffff;
    padding: 0.75rem 1.25rem;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
    font-size: 0.875rem;
    font-weight: 500;
    text-align: center;
    border-left: 4px solid #3b82f6;
    animation: slideDown 0.3s ease-out forwards;
}

.toast-error {
    border-left-color: #ef4444;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}
