.btn-meal-type.active {
    background-color: #2563eb; /* blue-600 */
    color: #fff;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* shadow-lg */
    transform: scale(1.05);
}
.btn-meal-type:not(.active) {
    background-color: #e5e7eb; /* gray-200 */
    color: #4b5563; /* gray-700 */
}
.btn-meal-type:not(.active):hover {
    background-color: #bfdbfe; /* blue-200 */
    color: #1d4ed8; /* blue-700 */
}
.btn-generate {
    background-color: #22c55e; /* green-500 */
    color: #fff;
    font-weight: 700;
    padding: 0.75rem 2rem; /* py-3 px-8 */
    border-radius: 9999px; /* rounded-full */
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease-in-out;
}
.btn-generate:hover {
    background-color: #16a34a; /* green-600 */
    transform: scale(1.05);
}
.btn-generate:active {
    transform: scale(0.95);
}
.suggestion-box {
    background-color: #fffbeb; /* yellow-50 */
    border-left: 4px solid #facc15; /* yellow-400 */
    color: #b45309; /* yellow-800 */
    padding: 1.5rem; /* p-6 */
    border-radius: 0.5rem; /* rounded-lg */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    animation: fadeInUpDown 0.5s ease-out;
}
@keyframes fadeInUpDown {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.form-control:focus {
    border-color: #3b82f6; /* blue-500 */
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25);
}
.btn-add {
    background-color: #3b82f6; /* blue-500 */
    color: #fff;
    font-weight: 600;
    transition: background-color 0.2s;
}
.btn-add:hover {
    background-color: #2563eb; /* blue-600 */
}
