:root {
    --primary: #6a11cb;
    --secondary: #2575fc;
    --danger: #f5576c;
    --light: #f8f9fa;
    --dark: #212529;
}

body {
    font-family: 'Poppins', sans-serif;
    background-color: #f5f5f5;
}

.card {
    border: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.bg-gradient-primary {
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
}

.bg-gradient-purple {
    background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
}

.bg-gradient-danger {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
}

.btn-primary:hover {
    background-color: #5a0db3;
    border-color: #5a0db3;
}

.btn-purple {
    background-color: #6a11cb;
    color: white;
}

.btn-purple:hover {
    background-color: #5a0db3;
    color: white;
}

.btn-danger {
    background-color: var(--danger);
    border-color: var(--danger);
}

.btn-danger:hover {
    background-color: #e4455b;
    border-color: #e4455b;
}

.rounded-3 {
    border-radius: 1rem !important;
}

.rounded-pill {
    border-radius: 50rem !important;
}

.prediction-result {
    white-space: pre-line;
}

.loading-spinner {
    width: 3rem;
    height: 3rem;
}

/* Animasi untuk loading */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.fade-in {
    animation: fadeIn 0.5s ease-in-out;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .card-body {
        padding: 1.5rem;
    }
}